#django #django-forms #many-to-many
#django #django-forms #»многие ко многим»
Вопрос:
У меня есть следующее model.py
:
class FinancialProduct(models.Model):
active = models.BooleanField(default=True)
name = models.CharField(max_length=20)
abbreviation = models.CharField(max_length=3)
table_name = models.CharField(max_length=5, choices=FP_TABLE_CHOICES)
businesses = models.ManyToManyField(Business)
И следующее forms.py
:
class FinancialProductForm(ModelForm):
business = ModelMultipleChoiceField(widget=CheckboxSelectMultiple(),required=True)
class Meta:
model = FinancialProduct
def is_unique(self,latestFP):
if (self.cleaned_data['active'] == latestFP.active and
self.cleaned_data['name'].capitalize() == latestFP.name and
self.cleaned_data['acronym'].upper() == latestFP.acronym and
self.cleaned_data['table_name'] == latestFP.Table_name and
self.cleaned_data['business'] == latestFP.business):
return False
else:
return True
is_unique()
Функция вызывается перед сохранением, но мне интересно, как я могу проверить, изменилось ли отношение «многие ко многим» для business
. Есть идеи?
Редактировать
Форма также выдает ошибку при отправке из-за бизнес-m2m. Требуется ли дополнительная обработка перед сохранением?
Комментарии:
1. Что вы подразумеваете под «отношением «многие ко многим» изменилось для бизнеса»?
2. ваше право. О чем я говорю?!? это должно быть
businesses
(ARRRR!!! опечатки). Если вы укажете это в качестве ответа, я поставлю ему галочку.
Ответ №1:
business
должно быть businesses
🙂