Django ORM在记录插入时不解析在DB中使用特殊SQL触发器生成的id。
当我保存没有ID的模型时,它会正确保存并在DB中有ID吗?但是m.id
会给我None
。
class SomeModel(Model):
id = IntegerField(primary_key=True)
name = CharField(null=False, max=50)
m = SomeModel(name='asd')
m.save()
m.id # - None
保存后如何解析自动生成的ID?或者我如何重写save()
方法?或者可能更改字段类型?
我需要使用自己的触发器而不是IDENTITY
!
答案 0 :(得分:0)
请阅读Django文档。默认情况下,您不需要对Django说什么是主键。但如果你想。
class SomeModel(Model):
id = models.AutoField(primary_key=True, db_index=True)
name = CharField(null=False, max=50)