python C Django C get_or_create无效
发布时间:2023-12-17 06:03:06 所属栏目:Python 来源:DaWei
导读: 你能帮我理解为什么这段代码会导致重复输入(IntegrityError)吗?
我在使用Django 1.2.
(row,is_new) = MyModel.objects.get_or_create(field1=1)
row.other_field = 2
row.save()
我在使用Django 1.2.
(row,is_new) = MyModel.objects.get_or_create(field1=1)
row.other_field = 2
row.save()
你能帮我理解为什么这段代码会导致重复输入(IntegrityError)吗? 我在使用Django 1.2. (row,is_new) = MyModel.objects.get_or_create(field1=1) row.other_field = 2 row.save()我对field1有一个独特的约束.如果有一行field1 = 1,一切正常,Django做了“get”. 如果没有field1 = 1的行,看起来Django正在创建该行,这是正常的.但为什么不让它保存呢? 更新: 如果有帮助,这里是MyModel: class MyModel(models.Model): id = models.BigIntegerField(primary_key=True) field1 = models.BigIntegerField(unique=True) other_field = models.CharField(max_length=765) class Meta: db_table = u'project_crosses_suppl_FO'field1是另一个表的外键.但我没有在Django中为该表创建模型,所以我不告诉Django它是一个外键. 解决方法 假设这是一个合理忠实的代表你的真实代码,毫不奇怪它不是Django被破坏,这是你的模型.您已使用自己的id字段覆盖自动主键字段,但忽略了使其成为自动增量.因此数据库没有为PK使用新值,因此存在完整性错误. 除非你有充分的理由,否则你应该让Django处理PK领域本身. (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – 如何在DataFrame中增加groupby中的行数
- python – 线程类中__init__的相反
- python-2.7 – 无法安装PythonMagick Windows 7
- python – Numpy相当于if / else list comprehension
- python – web2py插入方法
- 仅用50行代码实现一个Python编写的计算器的教程
- python – 与Pandas自我加入
- python – 优化Cython中的字符串
- python – n球面坐标系到笛卡尔坐标系
- python – 什么是django.utils.functional .__ proxy__对象
推荐文章
站长推荐
- Django 1.10中有哪些django.core.context_proces
- python queue get size,使用qsize()或len()?
- Python ConfigParser检查Section和Key Value的存
- python – 是否有一个有意义的方法来使用发生器内
- python – 带有postgres的游标,存储数据的位置以
- `with canvas:`(Python`with something()as x:
- python – 分类:使用sklearn进行PCA和逻辑回归
- Python语言中的函数range()没有给出预期的结果
- python – hashlib.md5()TypeError:Unicode对象
- python – 为什么最后一个命令变量“_”不出现在