[英]Where does the poll.id come from?
我正在研究DjangoTutorial03 ,不太了解poll.id
的id
来源。
poll.question
我明白了,它是models.py
Poll
类的属性之一。 但是对于poll.id
就不那么多了。 它是从models.Model
继承的属性吗? 我不确定,因为我在/django/db/models/
base.py
和__init__.py
中都搜索了self.id
(这是寻找合适的地方吗?)
如果您没有为其他字段提供primary_key=True
关键字参数,则会为您的模型自动创建id
字段。 处理主键的一个好习惯是使用pk
属性,而不是id
,因为pk
是真实主键字段的别名,无论它是id
, my_id
还是其他任何东西poll.id
和poll.pk
都是相同。
该行为是由Options
类( 在此处 )引起的,这是您访问_meta
属性时所得到的,并且它的属性派生自Model.Meta
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.