你能帮我理解为什么这段代码会导致重复输入(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它是一个外键.