2017-07-10 238 views
0

我正在为教育学校做一个django应用程序,并且我有一个从SchoolClass继承的两个类(RegularSchoolClass和AdhocSchoolClass)(不是摘要)。我有另一个课程(LessonSchedule),它记录一个班级的每周或每天的时间表,并与SchoolClass有多对多的关系。试图在多对多关系中保存对象(多继承)

保存regularschoolclass后,我试图更新相关课程计划(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) 

回答

0

你必须到外地上学类添加到您的类SchoolClass

school_class=models.CharField(max_length=some length)