추상 모델과의 관계를 테스트하는 데 시간이 걸리자 항복했지만 다행히도 시도했지만 GenericForeignKey를 사용해 보았습니다. 행운을 빌어 요, 여기 내 코드는추상 모델과의 필드 관계 정의
입니다. 내가 GenericForeignKey을 시도했을 때class Attribute(models.Model):
name = models.CharField(max_length=50)
class TemplateField(models.Model):
name = models.CharField(null=True,blank=True,max_length=30)
attributes = models.ManyToManyField(Attribute, through='AttributeValue')
class Meta:
abstract = True
class Domain(TemplateField):
name = models.CharField(max_length=33)
class AttributeValue(models.Model):
templatefield = models.ForeignKey(TemplateField)
attribute = models.ForeignKey(Attribute)
value = models.CharField(max_length=50)
, 내 "도메인"모델과 방법을 수정하는 방법과 함께 할 무엇 확실하지 않았다, 당신은 내가 아래의 오류를 얻고 알고 [makemigrate 동안] :
wiki.AttributeValue.templatefield: (fields.E300) Field defines a relation with model 'TemplateField', which is either not installed, or is abstract.
wiki.AttributeValue.templatefield: (fields.E307) The field wiki.AttributeValue.templatefield was declared with a lazy reference to 'wiki.templatefield', but app 'wiki' doesn't provide model 'templatefield'.
wiki.AttributeValue: (fields.E336) The model is used as an intermediate model by 'wiki.Domain.attributes', but it does not have a foreign key to 'Domain' or 'Attribute'.