2024-09-30 12:12:28 发布
网友
我在研究DjangoTutorial03,不太明白id来自poll.id的id来自哪里
id
poll.id
poll.question我明白了,它是models.py中类Poll的属性之一。但对poll.id来说就没那么多了。它是从models.Model继承的属性吗?我不确定,因为我在两个base.py&;中都搜索了self.id__init__.py从/django/db/models/开始,什么也没有出现(是不是该找的地方?)
poll.question
models.py
Poll
models.Model
base.py
self.id
__init__.py
/django/db/models/
如果没有为任何其他字段提供primary_key=True关键字参数,id字段将自动为您的模型创建。在处理主键时,一个好的做法是使用pk属性,而不是id,因为pk是真正主键字段的别名,无论是id、my_id还是其他任何属性-poll.id和poll.pk都是相同的
primary_key=True
pk
my_id
poll.pk
这种行为是由Options类(here)引起的,它是访问_meta属性时得到的,它的属性是从Model.Meta派生的
Options
_meta
Model.Meta
如果没有为任何其他字段提供
primary_key=True
关键字参数,id
字段将自动为您的模型创建。在处理主键时,一个好的做法是使用pk
属性,而不是id
,因为pk
是真正主键字段的别名,无论是id
、my_id
还是其他任何属性-poll.id
和poll.pk
都是相同的这种行为是由
Options
类(here)引起的,它是访问_meta
属性时得到的,它的属性是从Model.Meta
派生的相关问题 更多 >
编程相关推荐