0
Ok, 그래서 내 unittest에서 특정 필드가 ManyToManyField 개체인지 확인하려고합니다. 다음은 관련 단위 테스트 코드 다음에 원래의 클래스는 다음과 같습니다왜 ManyToMany 필드의 객체 유형이 django에서 초기화 된 후에 변경됩니까?
class Course(models.Model):
name = models.CharField(max_length=150)
studyunits = models.ManyToManyField(StudyUnit)
class CourseManyToManyTest(VocabTestCase):
fixtures = ['m2mtest.json']
def setUp(self):
self.course = Course.objects.create(name="Course2")
self.studyunit1 = StudyUnit.objects.all()[0]
self.studyunit2 = StudyUnit.objects.all()[1]
def testStudyUnitsAddDelete(self):
self.assertIsInstance(self.course.studyunits, models.ManyToManyField)
그 테스트는 다음과 같은 오류와 함께 실패 : 나는 이것을 확인하는 바보 같은 것 알고
self.assertIsInstance(self.course.studyunits, models.ManyToManyField)
AssertionError: <django.db.models.fields.related.ManyRelatedManager object at 0x102853690> is not an instance of <class 'django.db.models.fields.related.ManyToManyField'>
,하지만 난이 버그를 발견 ManyToManyField를 확장하려고 할 때, 왜 객체의 클래스가 변경되는지 궁금합니다. 약간의 마술처럼 보입니다. 설명은 무엇입니까?
아 감사합니다. – HaskellMan