0
訪問類方法,我有以下設置: 類麪包(models.Model): #字段Django的:模型通過RelatedManager
class Pizza(models.Model):
# fields
class Topping(models.Model):
# fields
@classmethod
def do_something(cls):
# stuff
class Meta:
abstract = True
class PizzaTopping(models.Model):
obj = models.ForeignKey(Pizza, related_name='topping_set')
class BaguetteTopping(models.Model):
obj = models.ForeignKey(Baguette, related_name='topping_set')
我知道,關係所作的方式是不完美的,但現在就是這樣。
我的問題是:我可以通過RelatedManager以動態方式訪問do_something
,但不知道它背後是否有PizzaTopping
或BaguetteTopping
?
我的Pizza
或Baguette
實例obj
(在這一點上,我不知道這是否是Pizza
或Baguette
)。現在,我想打電話給這樣的事情:
obj.topping_set.__modelclass__.do_something()
有沒有辦法做到這一點沒有測試的類obj
?