什么是Django模型领域选择最佳实践?

时间:2016-05-16 18:07:09

标签: django

在我的项目中,我有不同的应用程序,在模型中,我为每个model.py分别设置了特定的选项。

像:

size = models.CharField(max_length=1,
                          choices=SIZE_CHOICES)

SIZE_CHOICES = (
    ('f','feet'),
    ('i','inches'),
    ('y','yards'),
    ('m','milimeters'),
    ('c','centimeters'),

)

然而,所有应用程序之间共享一些相同的选项。

在一个地方拥有所有相同选择的最佳做法是什么?
(理想情况下,最终用户可以在某个地方定义它们,而不是在代码中。)

1 个答案:

答案 0 :(得分:1)

我通常会为此创建一个特定的应用程序。例如,0.10应用程序,我在其中定义了一个ALTER TABLE my_table CHANGE my_field my_field DECIMAL(10,2) ; UPDATE my_table SET my_field = 0.10 WHERE my_field = 1 ; ,我在其中对选项进行硬编码,然后在我需要它们时将其导入。 或者,您可以创建一个简单的模型,您可以在其中自己创建它们。然后,您可以使用tools函数将它们附加到特定字段。但是,该解决方案过于复杂,因为您需要在运行时附加这些解决方案。 最简单的解决方案是创建一个硬编码的choices.py。我曾经尝试过你想做的事情,结果却是一团糟。因此,除非您真的需要它,否则我建议您手动管理__init__文件。