我希望一个字段是一个抽象对象的OneToOneField域,抽象将永远不会使用,而是将用于子类:
from django.db import models
class Abs(models.Model):
useType = True
absName = models.CharField(max_length=10, default='mickey', blank=True)
class Meta:
abstract = True
from django.db import models
from .abs import Abs
class Sub(Abs):
useType = False
name=models.CharField(max_length=10, default='', blank=True)
from django.db import models
from .abs import Abs
class ParentClass(models.Model):
abs = models.OneToOneField(Abs, on_delete=models.CASCADE)
但在进行移民时,我收到以下错误:
books.ParentClass.abs: (fields.E300) Field defines a relation with model 'Abs', which is either not installed, or is abstract.
books.ParentClass.abs: (fields.E307) The field books.ParentClass.abs was declared with a lazy reference to 'books.abs', but app 'books' doesn't provide model 'abs'.
如果Abs是一个真实的对象,一切都很好,但Abs永远不应该是一个真实的对象,所以我认为应该是抽象的,它只是一个公共信息/方法的篮子,一个接口.
有办法做到这一点吗?
非常感谢