私は次の2つのDjangoクラスMyClassA
とMyClassB
を2つの別々のファイルに持っています。 MyClassB
には、MyClassA
のインスタンスへの外部キー参照があります。 MyClassA
は、MyClassB
クラスをインポートできません。Django:参照されるクラスのクラスメソッドから外部キーのクラスを取得するにはどうすればよいですか?
my_class_a/models.py:
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()??
my_class_b/models.py:
from my_class_a.models import MyClassA
from django.db import models
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
のインスタンスを持っていないので、私はそれを行う方法を知らない。私はインスタンスの逆引き参照を可能にするrelated_nameフィールドを利用したいと思います。