[英]What is the propper way to handle certain CRUD exceptions in Django
我有這些模型。
class Brand(models.Model):
account = models.ForeignKey(Account, on_delete=models.CASCADE, null=False)
name = models.CharField(max_length=100, null=False, blank=False)
class Ingredient(models.Model):
account = models.ForeignKey(Account, on_delete=models.CASCADE, null=False)
brand = models.ForeignKey(Brand, on_delete=models.CASCADE, null=False)
name = models.CharField(max_length=100, null=False, blank=False)
cost = models.DecimalField(max_digits=14, decimal_places=2, null=False)
class Meta:
unique_together = ['account', 'brand', 'name']
因此,有時可能會重復使用同一品牌和帳戶的名稱。 我應該在視圖和表單中處理這些約束異常嗎? 什么是更干凈的方法呢? Django 真的是多才多藝,你可以用許多不同的方式做事。
為了干凈的方式,將表單創建為ModelForm 。 ModelForm支持處理模型字段的唯一性。 參考https://docs.djangoproject.com/en/3.0/topics/forms/modelforms/#overriding-the-clean-method
如果使用Form類,請使用 clean() 函數處理唯一性異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.