【发布时间】:2015-12-21 09:35:40
【问题描述】:
假设我有 3 个 Django 模型:
class MyModelA(models.Model):
my_int = models.IntegerField()
@staticmethod
def my_Astatic_method():
return "AHello"
class MyModelB(models.Model):
my_int = models.IntegerField()
my_a = models.ForeignKey(MyModelA, related_name="MyModelB_a")
@staticmethod
def my_Bstatic_method():
return "BHello"
class MyModelC(models.Model):
my_int = models.IntegerField()
my_b = models.ForeignKey(MyModelB, related_name="MyModelC_b")
@staticmethod
def my_Cstatic_method():
return "CHello"
我有一个名为 a 的 MyModelA 实例。在a 的方法中,我想调用my_Cstatic_method()。我该怎么做?
a.MyModelB_a.model.my_Bstatic_method() 调用MyModelB 的静态方法。但我不知道如何从MyModelB 的model 属性将MyModelC 的静态方法降低一层。我该怎么做?
令人惊讶的是,对象a.MyModelB_a.model.MyModelC_b 没有model 属性
【问题讨论】:
-
我不知道你为什么要打扰外键。你有一个静态方法,你可以通过类调用它:
MyModelC.my_Cstatic_method()。
标签: python django django-queryset django-orm