我有以下两个 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()。
