我有一个Django模型,它使用choices
attribute。在
COLOR_CHOICES = (
('R', 'Red'),
('B', 'Blue'),
)
class Toy(models.Model):
color = models.CharField(max_length=1, choices=COLOR_CHOICES)
我的代码正在生产中,现在我想添加其他选项。在
^{pr2}$我该怎么做?Django是否使用数据库约束来强制执行选择?{I需要使用^ m数据库进行迁移吗?或者Django只是在Python代码中强制执行choices限制,而我所要做的就是更改代码并重新启动?在
谢谢!在
Django不在数据库级别上强制执行选择,它只将它们用于小部件的表示和验证。如果您希望它们更“动态”,例如在不同的服务器上有不同的服务器,您可以通过
settings.py
来定义它们:然后您可以在
settings.py
中定义不同的选择(不需要任何数据库迁移!)。在字段是
models.CharField
,因此数据库将把它当作在django中设置的任何其他models.CharField
一样对待它:)不,它不强制选择/你不需要接触你的数据库。在
相关问题 更多 >
编程相关推荐