0
を介したモデルのアクセス・クラスメソッド私は、次の設定があります。 クラスバゲット(models.Model): #フィールドジャンゴ: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')
私が知っている、関係が作られている方法は、完璧ではありませんしかし、これは今のところそれです。
私の質問は:do_something
には、PizzaTopping
またはBaguetteTopping
の背後にあるかどうかを知らずに、RelatedManager経由で動的にアクセスできますか?
は私がPizza
またはBaguette
のインスタンスobj
を持っている(それはPizza
かBaguette
であれば、この時点で私は知りません)。今私はこのような何かを呼びたい:
obj.topping_set.__modelclass__.do_something()
obj
のクラスをテストせずにこれを行う方法はありますか?