【发布时间】:2025-11-30 23:40:01
【问题描述】:
我正在为一所教育学校做一个 django 应用程序,我有两个类(RegularSchoolClass 和 AdhocSchoolClass)继承自一个 SchoolClass(不是抽象的)。我有另一个课程(LessonSchedule),它记录每周或每天的课程安排,并且与 SchoolClass 有多对多的关系。
保存常规学校课程后,我正在尝试更新相关的课程表 (https://docs.djangoproject.com/en/1.11/topics/db/examples/many_to_many/)。
我收到以下错误 - 我认为这是因为 LessonSchedule 是与 SchoolClass 而不是 RegularSchoolClass 的多对多关系?有没有办法让它工作(我真的不想为 RegularSchoolClass 和 AdhocSchoolClass 复制相同的代码)?
ValueError: Cannot add "<RegularSchoolClass: Kindergarten One, Dan, Saturday, 9:00AM - 10:45AM>": the value for field "schoolclass" is None
models.py
class SchoolClass(TimeStampedModel):
pass
class RegularSchoolClass(SchoolClass):
def save(self, *args, **kwargs):
for l in LessonSchedule.objects.filter(lesson_frequency=self.lesson_frequency, start_date=self.start_date):
l.schoolclass.add(self)
class AdhocSchoolClass(SchoolClass):
pass
class LessonSchedule(models.Model):
school_class = models.ManyToManyField(SchoolClass)
【问题讨论】:
标签: django