В моей модели сочетание 2-х полей (компании, AM) должен быть уникальнымПочему Уникальные вместе не предотвращают уникальные значения?
class Vendor_AM(models.Model):
version = IntegerVersionField()
company = models.ForeignKey(V_Company, on_delete=models.PROTECT)
AM = models.ForeignKey(AM, on_delete=models.PROTECT)
recomendedprice = MoneyField(max_digits=10, decimal_places=2, default_currency='USD')
price = MoneyField(max_digits=10, decimal_places=2, default_currency='USD')
is_active = models.BooleanField(default=True)
def __unicode__(self):
return u'%s %s %s' % (self.id, self.AM.material.name , self.company.name)
class Meta:
unique_together = (("AM", "company"),)
По этой причине, у меня есть это определено в классе Meta. Но вместо предупреждения проверки формы я получаю сообщение об ошибке при сохранении. Что может быть причиной?
IntegrityError в/поставщике/manufacture_material/новая/1/http://127.0.0.1:8000/vendor/company/company_am_details/1// колонна AM_id, company_id не является уникальной
UPDATE: Формы:
class Vendor_AMForm(forms.ModelForm):
class Meta:
model = Vendor_AM
fields = [ 'AM','recomendedprice','is_active' ]
Я заселение компании непосредственно в вид.
Как вы это подтвердите? Как выглядит ваша форма? –
Вы правильно выполнили миграцию базы данных? –
Я не проверяю в форме. Я предполагал, что если у меня есть уникальная валидация, позаботиться о ней. –