我正在尝试检查为模型字段设置的选择元组中是否存在值。

例如,假设我有一个这样的模型:

class Vote(models.Model):
 VOTE_TYPE = (
  (1, "Up"),
  (-1, "Down"),
 )

 value = models.SmallIntegerField(max_length=1, choices=VOTE_TYPES)

现在让我们在 View 中说,我有一个变量 new_value = 'Up',我想将其用作新投票中的值字段。我如何首先检查该变量的值是否存在于 VOTE_TYPE 元组中?谢谢你。

最佳答案

  • 您确定要将值设置为“向上”吗?这是一个显示值,您可能有兴趣将值设置为 -1 或 1
  • 您可以通过将选项列表转换为 dict 来轻松检查选项是否在列表中,例如
    my_choice in dict(VOTE_TYPE)
  • 如果可能,您可以使用 choiceField 或 TypedChoiceField ,它们将验证给定的值是否存在于选项列表中。
  • 关于python - 检查 Django 模型字段选项是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2520598/

    10-09 18:25
    查看更多