我試圖讓這些模型工廠,factory_boy:Django的:一到一個場factory_boy:UNIQUE約束失敗
class Course(models.Model):
group = models.OneToOneField(Group)
title = models.CharField(max_length=1024)
class CourseInfo(models.Model):
course = models.OneToOneField(Course, related_name='info')
starttime = models.TimeField(null=True, blank=True)
endtime = models.TimeField(null=True, blank=True)
這裏是我的工廠:
class CourseInfoFactory(factory.DjangoModelFactory):
class Meta:
model = CourseInfo
course = factory.SubFactory('courseaffils.tests.factories.CourseFactory')
starttime = time(hour=4)
endtime = time(hour=6)
class CourseFactory(factory.DjangoModelFactory):
class Meta:
model = Course
title = factory.Sequence(lambda n: 'Example Course %d' % n)
group = factory.SubFactory(GroupFactory)
info = factory.RelatedFactory(CourseInfoFactory, 'course')
現在,當我打電話CourseFactory()
或CourseInfoFactory()
我得到一個IntegrityError:
IntegrityError: UNIQUE constraint failed: courseaffils_courseinfo.course_id
這有什麼錯我的工廠?我該如何解決這個問題?
如果我不是做course = factory.RelatedFactory('courseaffils.tests.factories.CourseFactory')
在CourseInfoFactory,我得到這個錯誤,符合市場預期:
IntegrityError: NOT NULL constraint failed: courseaffils_courseinfo.course_id
如果您需要更多的細節,這裏的實際代碼我的工作:
https://github.com/ccnmtl/django_courseaffils/blob/master/courseaffils/models.py
這個答案還不夠具體。你能想出更多的信息,你可以提供更清楚/更好的? –
請檢查是否有遺漏 –