клиент выбирает правильный выбор. Этот выбор не является одним из доступных вариантов

#python #sql #django #database #django-models

Вопрос:

пожалуйста, я хочу, чтобы кто-нибудь помог мне решить эту проблему. если есть лучший способ написать коды, я буду вам очень признателен.

я хочу, чтобы пользователь сделал заказ и был перенаправлен на страницу, где пользователь увидит все свои заказы . пожалуйста, кто-нибудь должен помочь

сообщение об ошибке :

клиент выбирает правильный выбор. Этот выбор не является одним из доступных вариантов

 client model file


from django.db import models

# Create your models here.


class ClientJob(models.Model):
    STATUS = (
            ('Pending', 'Pending'),
            #('On-going', 'On-going'),
            ('Completed', 'Completed'),
            )
    
    customer = models.ForeignKey('accounts.Customer', null=True,blank=True, on_delete= models.SET_NULL,related_name='client')
   
      
    job_name = models.CharField(max_length=50,unique =False)
    text_description = models.CharField(max_length=150,null=True) 
    location = models.ForeignKey('accounts.Area' ,on_delete =models.CASCADE ,null=True,blank=True)
    address = models.CharField(max_length=200,unique =False)
    phone =models.CharField(max_length=15,unique =False)
    email = models.EmailField(unique = False) 
    date_created = models.DateTimeField(auto_now_add=True, null=True)
    status = models.CharField(max_length=200, null=True, choices=STATUS,default='Pending')
    


    def __str__(self):       
        return self.job_name
      
   
    class Meta:
        verbose_name_plural = "Client Job" 


client forms.py file

from django.db.models import fields
from django.forms import ModelForm
from django import forms

from django.contrib.auth.models import User

from .models import *





class ClientJobForms(ModelForm): 
 
  class Meta:
    model = ClientJob
    fields = ['job_name','text_description','location','address','phone','email','status','customer']
    #fields ="__all__"

  

  def __init__(self, *args, **kwargs):
    super(ClientJobForms, self).__init__(*args, **kwargs) 
    self.fields['location'].empty_label ='Your location' 



client admin file



from django.contrib import admin
from .models import *

# Register your models here.



class ClientJobAdmin(admin.ModelAdmin):

    list_display = ('id','job_name','text_description','location','address','phone','email','date_created','status','customer')

admin.site.register(ClientJob ,ClientJobAdmin)




client urls.py form


from django.urls import path
from .views import *
from .import views

app_name = 'clients'


urlpatterns = [

path('add_item/', views.insert_ClientJob ,name='add_item'),

]




client view file





@login_required
def insert_ClientJob(request):
    if request.method == 'POST':
        
        form = ClientJobForms(request.POST)
        user_id=request.POST.get('id') 
        customer = ClientJob.objects.create(customer=request.user.details)
     
        if form.is_valid():
            form.save()
            #product = form.save(commit=False)
            #customer = ClientJob.objects.create(customer=product.customer)
       
            #product.customer =customer
           
            product.save()
           
            messages.success(request ,"successful")
            return redirect('profession:user',user_id)
         
    else:
        form = ClientJobForms()
       
    return render(request ,'job_request.html' ,{'form': form})     



accounts models.py file



from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver

from django.contrib.auth.models import AbstractUser

from django.contrib.auth import get_user_model

User = get_user_model()






class Area(models.Model):
    area_code = models.CharField(max_length=7)
    location = models.CharField(max_length=100)

    def __str__(self):
        return self.location

    class Meta:
        verbose_name_plural = "Area"



class Customer(models.Model):
   user = models.OneToOneField(User,null=True,blank=True, on_delete= models.SET_NULL,related_name='details')
   address = models.CharField(max_length=200, null=True)
   phone = models.CharField(max_length=15, null=True)
   date_created = models.DateTimeField(auto_now_add=True, null=True)

   def __str__(self):
      return str(self.user)