Django - 选择与模型(FK)

时间:2012-03-29 01:25:27

标签: python database django django-models

让我们说我想给用户提供选择权,并确保提交的值是可用的选项。

我一直在阅读文档,在我看来:如果您的值不会更改,请使用choices - 如果您的数据是动态的,请使用models

我有点不确定,不应该models选择choices,因为他们在数据库中强制执行某种约束?

2 个答案:

答案 0 :(得分:6)

肯定需要其中一个时使用models

  • 能够轻松编辑(添加,删除)选项而无需重新加载代码;
  • 能够为任何选择存储其他信息;
  • 简单的多对多关系(并通过它过滤)
  • 在不同情况下使用动态选择子集的能力。

否则使用choices

答案 1 :(得分:2)

models通过数据库强制执行约束。 choices通过代码强制执行约束。您选择哪个取决于您要选择的人选。