默认情况下,Django automatically gives each model an id
field。
还有其他字段django的ORM会自动添加吗?也许在特定情况下?
答案 0 :(得分:3)
我只能想到其他两种情况,即自动创建字段的位置。一个是对另一个模型进行子类化。子类将继承父项的字段see here。另一种是多对多的关系。对于M2M关系,不仅会创建字段,还会创建整个中间表。 Again, the relevant docs
此外,如果为要用作主键的字段指定id
,则可以避免让Django创建primary=True
字段。 See here
还有一些其他模型/数据库命名约定。例如,实际的数据库表名称将以包含它们的Django应用程序名称加上下划线作为前缀。例如,名为Author
的应用中名为library
的模型将被称为library_author
。我确信还有其他例子,所以这不是一个详尽的清单。