【发布时间】:2021-10-04 13:36:23
【问题描述】:
对不起,如果标题不清楚,这就是我想要完成的:
class Document(models.Model):
processed = models.BooleanField(default=False)
class ParentClass(models.Model)
document = models.OneToOneField(Document, on_delete=models.SET_NULL, null=True)
class Meta:
abstract = True
def do_something():
raise NotImplementedError()
class SubclassOne(ParentClass):
# Some fields.
def do_something(self):
# Something specific to this subclass
class SubclassTwo(ParentClass):
# Some other fields.
def do_something(self):
# Something specific to this subclass
我的第一个想法是尝试通过ParentClass查询
ParentClass.objects.filter(document__processed=False)
但这不起作用,因为父类是abstract。
现在我尝试通过 Document 对象
Document.objects.filter(processed=False)
但似乎没有办法通过每个Document 查找相关对象。我不确定这是一个好的解决方案,因为ParentClass 与Document 紧密耦合,它不需要知道ParentClass 的实现。
【问题讨论】:
标签: django django-models orm one-to-one