试图弄清楚为什么我在这里收到属性错误。我之前在 Django 教程中已经完成了同样的过程,但是在这里,我使用相同的逻辑遇到了属性错误。
from django.db import models
from django.utils import timezone
# Create your models here.
class Department(models.Model):
department_name = models.CharField(max_length=100)
def __str__(self):
return self.department_name
class Instructor(models.Model):
belongs_to = models.ForeignKey(Department, on_delete=models.CASCADE)
instructor_name = models.CharField(max_length=100)
def __str__(self):
return self.instructor_name
就像 Django 的文档教程一样,我试图在我的 python shell 中输出一个空查询集。当我创建数据并将其保存到数据库中时,我返回并将数据分配给一个对象,方法是使用d = Department.objects.get(pk=1)我可以调用的所需输出d.department_name,它会输出我最初分配的名称。当我以d.instructor_name.all()与教程相同的方式调用时,q.choice_text.all()我没有返回一个空查询集,而是这个错误:
<ipython-input-18-29fd5cce7e1e> in <module>()
----> 1 d.instructor_name.all()
AttributeError: 'Department' object has no attribute 'instructor_name'
不太确定我在这里做什么不同。我读过其他类似问题的帖子,但他们总是做一些稍微不同的事情,我似乎无法将他们学到的东西应用到我的问题上。
这是参考教程:https ://docs.djangoproject.com/en/3.0/intro/tutorial02/