Есть ли функция для фильтрации значений поля на основе значения другого поля в django

модель1

class Client(models.Model):
    
    client_name=models.CharField(max_length=20)
    company=models.CharField(max_length=200) 
    finance_contact_email=models.EmailField(max_length=25,default=None)
    business_purpose=models.CharField(max_length=50,null=True,default=None)
    location=models.CharField(max_length=200)
    emergency_contact=models.CharField(max_length=200,null=True,default=None)
    website=models.URLField(max_length=200,null=True)
    comments=models.TextField(max_length=300,null=True, blank=True)
    start_Date = models.DateTimeField(max_length=10,null=True)
    end_Date=models.DateField(max_length=10,null=True)

Модель2

class Project(models.Model):
    
    project_name = models.CharField(max_length=20)
    client= models.ForeignKey(Client,on_delete=CASCADE,related_name="Client1",default=None)
    description=models.TextField()
    type=models.TextField()                                      
    start_date = models.DateTimeField(max_length=10)
    end_date=models.DateTimeField(max_length=10)
    technical_contact_name = models.CharField(max_length=30)
    email=models.EmailField(max_length=254,default=None)
    phone = PhoneField(blank=True)
    delivery_head_contact_name=models.CharField(max_length=30)

модель3

class Job(models.Model):
    
    job_name=models.CharField(max_length=50)
    client=models.ForeignKey(Client,on_delete=CASCADE,related_name='client',default=None)
    project=models.ForeignKey(Project,on_delete=CASCADE,related_name='project',default=None)
    user=models.ForeignKey(User,on_delete=CASCADE,related_name='user',default=None)
    hours=models.TimeField(null=True)
    start_date = models.DateTimeField(max_length=10)
    end_date=models.DateTimeField(max_length=10)

На самом деле мне нужно фильтровать значения на основе клиентов в модели Job. Например, мы будем выдавать имя_проекта в модели Project на основе выбора конкретных клиентов. Поэтому нам нужен фильтр в модели Job, например, если мы выбираем конкретного клиента в поле, он должен отображать только проекты, доступные для этого клиента в поле project модели Job.

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

Вернуться на верх