Django设置,模块特定设置

时间:2016-06-01 18:06:39

标签: python django

我们在Django app上有这个模型

class MyModel(models.Model):
    # A constant 
    MY_CONSTANT = 'this is a constant'

    field1 = models.Charfield()
    field2 = models.Charfield()

    def some_method(self):
        if field1 == MY_CONSTANT:
            do_some_stuff()

所以我的问题是我应该将MY_CONSTANT放在模型类中,还是应该将它放在带有MODULE(名称空间)前缀的django设置中:MYMODEL_MY_CONSTANT = 'this is a constant'

场景是常量可以在另一个模块中使用。如果放入Model,我们可以导入模型并通过MyModel.MY_CONSTANT使用。这方面的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

这是一个可配置的设置,还是只是一个常量?如果是后者,则应在模型上定义(如上所述);如果是前者,请将其放入设置配置中。