我对Django/Python编程非常陌生,希望这是一个简单的修复
我创建了一个模型,当我尝试添加重复记录(通过ModelForm)时,返回到模板的消息会在消息中显示两次唯一字段。 它看起来像:“fieldname”“classname”和此“fieldname”已经存在
如何显示字段名一次
当前显示的消息是: 名已存在具有此名的人员
我想看到的是:这个名字的人已经存在了
如蒙协助,将不胜感激。谢谢
Models.py:
class Person(models.Model):
FirstName = models.CharField(max_length=20, primary_key=True)
Template.html
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
message: {{ message | striptags }}
</div>
{% endfor %}
您可以捕获为添加重复行而引发的异常,并且可以使用自定义消息引发自己的异常
我通过在模板中使用form.errors而不是Django消息来解决这个问题
在Template.html中使用下面的代码生成的这个名字的人已经存在(这就是我要找的)
根据documentation,Django强制主键的唯一性,因此字段在整个表中必须是唯一的
如果你试图添加一个重复的名字,你将无法,这就是为什么你会得到这个错误
默认情况下,Django添加一个AutoField来保存主键,因此不需要将primary_key=True。将名字作为主键实际上是一种不好的做法
因此,由于您仍然希望继续操作并更改错误消息,您可以将模型更改为
相关问题 更多 >
编程相关推荐