在型号中:
class Getdata(models.Model):
title = models.CharField(max_length=255)
state = models.CharField(max_length=2, choices=STATE, default="0")
name = models.ForeignKey(School)
created_by = models.ForeignKey(profile)
def __unicode__(self):
return self.id()
在模板中:
<form>
<input type="submit" value="save the data" />
</form>
如果用户单击保存按钮,并且以上数据保存在表中,如何避免重复,即,如果用户再次单击相同的提交按钮,则不应再有相同值的条目。还是必须在 View 中处理的东西?
最佳答案
如果单个字段需要唯一,则只需添加unique=True
:
class Getdata(models.Model):
title = models.CharField(max_length=255, unique=True)
state = models.CharField(max_length=2, choices=STATE, default="0")
name = models.ForeignKey(School)
created_by = models.ForeignKey(profile)
如果您希望字段的组合唯一,则需要unique_together:
class Getdata(models.Model):
title = models.CharField(max_length=255)
state = models.CharField(max_length=2, choices=STATE, default="0")
name = models.ForeignKey(School)
created_by = models.ForeignKey(profile)
class Meta:
unique_together = ["title", "state", "name"]
关于python - Django模型避免重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3052975/