【发布时间】:2016-09-15 23:52:10
【问题描述】:
我在两个单独的文件中有以下两个 Django 类 MyClassA 和 MyClassB。 MyClassB 具有对 MyClassA 实例的外键引用。 MyClassA 无法导入类 MyClassB。
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 的实例,所以我不知道该怎么做。我想利用允许反向查找实例的相关名称字段。
【问题讨论】:
标签: python django foreign-keys static-methods class-method