【发布时间】:2023-04-05 17:29:02
【问题描述】:
我有以下两个 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 吗?
【问题讨论】:
-
不是重复的。我问的是当你没有 MyClassA 的实例时如何做到这一点。
-
道歉 - 撤回投票。
标签: python django static-methods class-method instance-method