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() непосредственно.

Другие вопросы по тегам