Python 如果choice.set,为什么使用choice.set?
我正在从文档中学习django 以下是Python 如果choice.set,为什么使用choice.set?,python,django,Python,Django,我正在从文档中学习django 以下是models.py: from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.Fore
models.py
:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
这是在shell中执行的:
q = Question.objects.get(pk=1)
>>> q.choice_set.all()
<QuerySet []>
q=Question.objects.get(pk=1)
>>>q.choice_set.all()
这里是为什么使用q.choice\u集
而不是q.choice\u集
choice\u是否设置了一些内置函数,或者因为在models.py
中选择而使用它,如果是,为什么它的第一个字母是小写的?因为这样说:
如果模型具有外键
,则外键模型的实例将可以访问返回第一个模型的所有实例的管理器
。默认情况下,此管理器
命名为FOO_set
,其中FOO
是源模型名称,小写
因为他这么说:
如果模型具有外键
,则外键模型的实例将可以访问返回第一个模型的所有实例的管理器
。默认情况下,此管理器
命名为FOO_set
,其中FOO
是源模型名称,小写
它是小写的,因为Python中遵循的主要编码标准是Pep8,并且两者都应该是小写的
函数名应该是小写的,并根据需要用下划线分隔单词,以提高可读性
它是小写的,因为Python中遵循的主要编码标准是Pep8,并且两者都应该是小写的
函数名应该是小写的,并根据需要用下划线分隔单词,以提高可读性