我有以下两个 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 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
的类方法 my_method_a
中,我想调用 MyClassB
的静态方法 my_method_b
。我该怎么做?如果 my_method_a
是一个实例方法,我会简单地执行 self.MyClassB_my_class_a.model.my_method_b()
。但是因为我没有 MyClassA
的实例,所以我不知道该怎么做。
我可以使用 cls
而不是 self
吗?
最佳答案
因为它是一个staticmethod
,所以您不需要一个实例。
您可以直接调用MyClassB.my_method_b()
。
关于python - Django:如何在没有此类实例的情况下对另一个类进行反向外键查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39521610/