Добрый день!
models.py
class Delivery(models.Model):
created_on = models.DateTimeField(u"Дата создания", auto_now_add=True)
datedelivery = models.DateField(u"Дата отгрузки")
dateofperformance = models.DateTimeField(u"Дата исполнения")
partner = models.ForeignKey(Partner, verbose_name=u"Контрагент")
КОНТРАГЕНТЫ:
class Partner(models.Model):
name = models.CharField(max_length=100)
created_on = models.DateTimeField(auto_now_add=True)
НЕОБХОДИМО СДЕЛАТЬ ФИЛЬТР: Delivery - > Partner in - Delivery:
forms.py
class DeliveryForm(forms.ModelForm):
partner = forms.ModelChoiceField(label='Контрагент', queryset=Delivery.objects.all())
Выдает список контрагентов которые были использованы в Delivery, но они задваиваются, контрагенты не уникальные... типа
Контрагента1
Контрагента1
Контрагента2
Контрагента1
Контрагента3
Контрагента4
Контрагента2
Контрагента5
forms.py
class DeliveryForm(forms.ModelForm):
partner = forms.ModelChoiceField(queryset=Delivery.objects.filter().values_list('partner', flat=True).order_by('partner').distinct())
Результат: Выдает всех Уникальных контрагентов в Delivery, но только их id, поля name нет.
На посоветовали передавайть в конструктор формы дополнительный параметр, в вашем случае ID партнёра и по нему фильтруйте. Как сделать, не знаю.
Есть варианты?
Спасибо!