2

我有以下两个 Django 类MyClassAMyClassB.

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吗?

4

1 回答 1

1

Since it is a staticmethod, you don't need an instance.

You can call MyClassB.my_method_b() directly.

于 2016-09-15T23:08:11.417 回答