Django forms фильтр данных в форме
Структура: Компании, объекты и заказчики.
Процесс: Каждая компания регистрирует своих заказчиков и свои объекты.
Вопрос: Как сделать так что бы в форме регистрации нового объекта каждая компания могла выбирать только из своих заказчиков и не видеть заказчиков других компаний?
Models.py
class WSCompany(models.Model):
"""
Модель Компании
На модель ссылаются: WSGroup, WSUser, WSObject
"""
title = models.CharField('Название', max_length=255)
slug = models.SlugField('Идентификатор', max_length=255, unique=True, db_index=True)
description = models.TextField('Описание', blank=True)
registration_date = models.DateTimeField('Зарегистрирована', auto_now_add=True)
class WSObject(models.Model):
"""
Модель Объекта
На объект ссылаются: WSProduct, WSNote
Объект ссылается на: WSUsers, WSCustomer, WSCompany
"""
title = models.CharField('Название', max_length=255)
address = models.CharField('Адрес', max_length=255)
slug = models.SlugField('Идентификатор', max_length=255, db_index=True, unique=True)
description = models.TextField('Описание', blank=True)
image = models.ImageField('Обложка', upload_to='Objects_Images')
registration = models.DateTimeField('Зарегистрирован', auto_now_add=True)
start_day = models.DateField('Начало работ', blank=True, null=True)
end_day = models.DateField('Окончание работ', blank=True, null=True)
company = models.ForeignKey(WSCompany, related_name='own_object_company', verbose_name='Компания', on_delete=models.DO_NOTHING)
manager = models.ForeignKey(WSUser, related_name='own_object_manager', verbose_name='Мэнаджер', on_delete=models.DO_NOTHING)
customer = models.ForeignKey(WSCustomer, related_name='own_object_customer', verbose_name='Заказчик', on_delete=models.SET_NULL, blank=True, null=True)
class WSCustomer(models.Model):
last_name = models.CharField('Имя', max_length=255)
first_name = models.CharField('Фамилия', max_length=255)
phone = models.CharField('Телефон', max_length=255)
registration_date = models.DateField('Зарегистрирован', auto_now_add=True)
company = models.ForeignKey(WSCompany, related_name='customer_company', verbose_name='Компания', on_delete=models.CASCADE)
Forms.py
class CreateObjectForm(forms.ModelForm):
"""
Форма регистрации нового объекта
"""
title = forms.CharField(label='', widget=forms.TextInput(attrs={'placeholder': 'Укажите название'}))
address = forms.CharField(label='', widget=forms.TextInput(attrs={'placeholder': 'Укажите адресс'}))
description = forms.CharField(label='', widget=forms.TextInput(attrs={'placeholder': 'Добавте описание'}))
customer = forms.ModelMultipleChoiceField(queryset=None)
class Meta:
model = WSObject
fields = (
'title',
'address',
'customer',
'image',
'description',
)