Django模型中的类级属性

5 投票
1 回答
952 浏览
提问于 2025-04-16 19:46

我有一个Django模型,用来存储一些不常改变但经常使用的数据。我想找一种方法,可以把这些数据当作静态类变量来引用,比如像 SomeModel.BarSomeModel.Baz 这样。

目前我使用的是一个静态方法,像这样:

class SomeModel(models.Model):
    name = models.CharField(max_length=100)

    @staticmethod
    def Baz():
        #retrieve from cache or lookup Baz item
        return baz

这意味着我用 SomeModel.Baz() 来引用这些项目,但我总觉得这样不太对。我感觉自己好像做错了什么。我不想把它变成一个属性,因为我不希望实例去引用这些项目。

有没有人能给我指个方向,或者给我个例子,看看我是否可以用这种方式实现类级别的属性?或者告诉我为什么我应该做一些完全不同的事情?谢谢 :)。

1 个回答

2

如果你想为某个模型添加一些逻辑,但这个逻辑不属于特定的某一行数据,可以写一个自定义模型管理器

撰写回答