如何在Django的基类中使用外键调用所有子类?

时间:2018-09-27 16:01:31

标签: django django-models

在我的模型中,我有一个基类,该基类具有另一个表的外键。此类由其他2个模型扩展。它是这样的:

class Foo(models.Model):
    ...

class Base(models.Model):
    foo = models.ForeignKey(Foo, related_name='bases')

class A(Base):
    ...
    def bar(self):
        print "A"

class B(Base):
    ...
    def bar(self):
        print "B"

现在,让我解释一下我想做什么。假设我使用Foo获得了foo=Foo.objects.get(pk=1)类的实例,然后我想为Base的每个子类的每个对象调用bar()方法,只要它们与{{ 1}}。

类似这样的东西:

foo

显然,这不起作用。相关名称似乎是一个问题。有什么办法吗?还是我必须为每个子类设置唯一的相关名称并在我的方法中调用它们中的每个?谢谢。

0 个答案:

没有答案