Python Django:如何在没有此类实例的情况下反向查找另一个类的外键?
我有以下两个Django类Python Django:如何在没有此类实例的情况下反向查找另一个类的外键?,python,django,static-methods,class-method,instance-method,Python,Django,Static Methods,Class Method,Instance Method,我有以下两个Django类MyClassA和MyClassB MyClassB具有对MyClassA实例的外键引用 from django.db import models class MyClassA(models.Model): name = models.CharField(max_length=50, null=False) @classmethod def my_method_a(cls): # What do I put here to c
MyClassA
和MyClassB
MyClassB
具有对MyClassA
实例的外键引用
from django.db import models
class MyClassA(models.Model):
name = models.CharField(max_length=50, null=False)
@classmethod
def my_method_a(cls):
# What do I put here to call MyClassB.my_method_b()??
class MyClassB(models.Model):
name = models.CharField(max_length=50, null=False)
my_class_a = models.ForeignKey(MyClassA, related_name="MyClassB_my_class_a")
@staticmethod
def my_method_b():
return "Hello"
在MyClassA
的类方法myu方法a
中,我想调用MyClassB
的静态方法myu方法b
。我怎么做?如果my\u method\u a
是一个实例方法,我只需执行self.MyClassB\u my\u class\u a.model.my\u method\u b()
。但是因为我没有MyClassA
的实例,所以我不知道怎么做
我是否可以使用
cls
而不是self
?因为它是一种静态方法
,所以不需要实例
您可以直接调用
MyClassB.my\u method\u b()
。不是重复的。我在问当你没有MyClassA的实例时如何做。道歉-收回投票。在我的方法\u a()
中,它不知道MyClassB
。它们在不同的文件中。我可以使用相关的\u名称
字段从我的\u方法a()
到我的\u方法b()
?那又怎样?只需导入MyClassB。如果出于某种原因不想这样做,可以使用。