Django如何防止数据库中的重复实例

时间:2012-02-04 18:18:35

标签: django django-models django-forms django-views

我正在使用Django,我需要确保在同一个表中没有相同的项目。 我不完全确定如何确保你没有两次将完全相同的信息输入表中。 例如,如果我是注册用户,必须输入他们的姓名和地址,我该如何确保具有相同名称和地址的完全相同的用户不允许两次保存他们的信息。

请注意,系统会邀请用户在ModelForm中输入他们的信息。

2 个答案:

答案 0 :(得分:2)

您可以使用unique option。它将实现类似:

class someModel(models.Model):
    name = models.CharField(max_length=100)
    address1 = models.CharField(max_length=100)
    class Meta:
        unique_together = ("name", "address1")

答案 1 :(得分:0)

要更改唯一的错误消息,您可以执行此操作: Django: How to override unique_together error message?

class ArticleForm(ModelForm):
    class Meta:
        error_messages = {
            NON_FIELD_ERRORS: {
                'unique_together': "%(model_name)s's %(field_labels)s are not unique.",
            }
        }