>Class Folder 继承自类 Item,它有一个指向 Folder 的外键:
class Item(models.Model):
# some fields
folder = models.ForeignKey('Folder')
class Folder(Item):
# some fields
当我尝试运行它时,出现错误:
app.item: 'folder' has a relation with model Folder, which has either not been installed or is abstract
我认为这里正确的做法是将模型名称放在引号中,我已经这样做了,但这似乎没有帮助。我应该怎么做才能完成这项工作?
编辑:使用有意义的类名澄清问题
(我有项目 (A),其中一些是文件夹 (B)。我想要两个类 最多引用一个文件夹
对我来说)你想做什么没有多大意义,但这是可以实现的如下:
class Item(models.Model):
# some fields
is_folder = models.BooleanField(default=False)
some_other_folder = models.ForeignKey('self', null=True, blank=True)
然后用python代码检查,如果is_folder==False
,那some_other_folder
不是 None(空)。
所以实际上你不需要 2 个模型。