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
?
1 ответ
Так как это staticmethod
вам не нужен экземпляр.
Ты можешь позвонить MyClassB.my_method_b()
непосредственно.