在模型中:
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>
如果用户点击保存按钮,上述数据被保存在表中,如何避免重复,即如果用户再次点击同一个提交按钮,不应该有相同值的另一个条目。或者这是必须在视图中处理的事情吗?
4条答案
按热度按时间jslywgbw1#
如果单个字段需要唯一,那么只需添加
unique=True
:如果希望字段组合是唯一的,则需要unique_together:
js81xvg62#
unique_together也是最好的方法,但是如果它不适合你的需要,你可以用你的表单的clean方法来处理它。
nwo49xxi3#
我认为注入Jquery/JS代码来隐藏保存按钮是个好主意。
创建一个custom_validate. js文件,如下所示,并将其放在目录static(静态文件目录)中
在www.example.com中admin.py,添加以下代码。
iyfjxgzm4#
我自己也遇到了这个问题,
unique_together
似乎工作得很好。