我正在尝试做这个:
http://docs.djangoproject.com/en/dev/topics/db/models/#be-careful-with-related-name
使用这种方式
这将保存为common/abstract.py
我已经安装了'app',但是没有安装'common'。如果不涉及FK或M2M关系,它将很好地导入,但是当我尝试添加它时,会出现以下错误:
"/lib/python2.6/site-packages/django/db/models/fields/related.py",第808行,init assert not to.meta.abstract,"%s cannot define a relation with abstract class %s" % (self.class._name__, to._meta.object_name) AssertionError: ForeignKey不能定义与抽象类OtherModel的关系。
请给予建议...如果您有任何问题或不理解我所解释的内容,请告诉我。由于我正在处理的文件非常复杂,因此我不想发布整个文件,因为我知道它在这个关系上出现了错误。
这将保存为common/abstract.py
class OtherModel(models.Model):
something = Charfield(max_length=100)
class Meta:
abstract = True
class Base(models.Model):
fk_model = models.ForeignKey(OtherModel, related_name="%(app_label)s_%(class)s_related")
class Meta:
abstract = True
然后我将它导入到另一个文件中,我们称之为app/models.py。
from common.abstract import Base
class ChildB(Base):
pass
我已经安装了'app',但是没有安装'common'。如果不涉及FK或M2M关系,它将很好地导入,但是当我尝试添加它时,会出现以下错误:
"/lib/python2.6/site-packages/django/db/models/fields/related.py",第808行,init assert not to.meta.abstract,"%s cannot define a relation with abstract class %s" % (self.class._name__, to._meta.object_name) AssertionError: ForeignKey不能定义与抽象类OtherModel的关系。
请给予建议...如果您有任何问题或不理解我所解释的内容,请告诉我。由于我正在处理的文件非常复杂,因此我不想发布整个文件,因为我知道它在这个关系上出现了错误。