在django中,model含有具有unique属性的字段,表单在验证是无法通过,如何解决?
比方说,下面一段代码
models.py
user = models.ForeignKey(User, unique=True)
last_name = models.CharField(max_length=25
first_name = models.CharField(max_length=25
middle_name = models.CharField(max_length=25)
当编辑一个已存在的用户时,系统提示 该用户已存在,无法更新。我想是由于unique造成的。该如何解决呢?
update django unique edit model
2276215
11 years, 3 months ago
Answers
如果是编辑,是不会出现无法更新的问题的,因为你修改的是已存在的用户实例。之所以系统提示 该用户已存在
,有可能是因为
- 你在尝试添加一个新的用户
- 编辑另外一个用户,试图将她的user_id和已存在用户的设置为一样
这两种情况在项目中都有可能出现。
对于第一种情况,导致的原因 极有可能 是你的 数据库的id序列错位
了,具体解决方式,参考 postgresql中如何重置id字段的数字序列
对于第二种情况,需要检查表单的代码,看是否在保存的时候,出现误操作。
dzisy
answered 9 years, 9 months ago