Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何在没有此类实例的情况下反向查找另一个类的外键?_Python_Django_Static Methods_Class Method_Instance Method - Fatal编程技术网

Python Django:如何在没有此类实例的情况下反向查找另一个类的外键?

Python Django:如何在没有此类实例的情况下反向查找另一个类的外键?,python,django,static-methods,class-method,instance-method,Python,Django,Static Methods,Class Method,Instance Method,我有以下两个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 c

我有以下两个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
的类方法
myu方法a
中,我想调用
MyClassB
的静态方法
myu方法b
。我怎么做?如果
my\u method\u a
是一个实例方法,我只需执行
self.MyClassB\u my\u class\u a.model.my\u method\u b()
。但是因为我没有
MyClassA
的实例,所以我不知道怎么做


我是否可以使用
cls
而不是
self

因为它是一种
静态方法
,所以不需要实例


您可以直接调用
MyClassB.my\u method\u b()

不是重复的。我在问当你没有MyClassA的实例时如何做。道歉-收回投票。在
我的方法\u a()
中,它不知道
MyClassB
。它们在不同的文件中。我可以使用
相关的\u名称
字段从
我的\u方法a()
我的\u方法b()
?那又怎样?只需导入MyClassB。如果出于某种原因不想这样做,可以使用。