我有这样的模型:
class Subject(models.Model):
name = models.CharField(unique=True, ...)
class Curriculum(models.Model):
name = models.IntegerField(unique=True, ...)
subjects = models.ManyToManyField(Subject)
class Grade(models.Model):
name = models.CharField(unique=True,...)
curriculum = models.ForeignKey(Curriculum, ...)
如果我知道具体的年级实例的名称,我怎样才能得到科目表,通过课程与成绩挂钩。我尝试过如下方法:
^{pr2}$但收到了一个例外
django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist
: Grade has no curriculum.
我做错什么了?在
如果您的数据库中有一个名为
Grade
的对象。然后可以使用以下方法进行筛选:您要做的是用
name=grade
创建Grade
的实例。但这还不在数据库中,而且您没有设置curriculum
属性。所以你得到了RelatedObjectDoesNotExist
。在您不能使用以下行访问现有的
Grade
:您正在创建一个新的
Grade
-对象,它的值为grade
。这不是你想要的。在使用
^{pr2}$使用现有对象。在
如果要创建一个新对象,则必须在访问任何相关对象之前保存它。在
相关问题 更多 >
编程相关推荐