python - 检查 Django 模型字段选项是否存在

标签 python django django-models

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

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

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 或 1

  2. 您可以通过将选项列表转换为字典来轻松检查选项是否在列表中

    字典中的我的选择(VOTE_TYPE)

  3. 如果可能,您可以使用 choiceField 或 TypedChoiceField ,它们将验证给定值是否存在于选择列表中。

关于python - 检查 Django 模型字段选项是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520598/

相关文章:

python - 在 numpy 中,计算一个矩阵,其中每个单元格包含该行中所有其他条目的乘积

python - 正则表达式在在线正则表达式解释器中匹配,但在python中不匹配

python - 无法使用顶级模块(源文件夹)启动我的导入语句

django - Celery 延迟回调

django - 覆盖管理员中的 save_form 对于内联管理员不起作用

python - 从多个文件中读取一行并写入一个文件

python - Django 如何将外部模块作为守护进程运行

python - Django-debug-toolbar 面板保持加载状态

django-models - neo4django: AttributeError: 类型对象 'Model' 没有属性 '__metaclass__'

python - 将 django 模型导入自定义 python 脚本