Django模型字段choices选项

背景

博客前台评论后通过后台审核通过后才能展示。

choices

给字段添加一个选择框

流程

  • 发布评论不直接显示
  • 后台审核
  • 审核通过的评论才能显示

模型类

class Comment(models.Model):
    ……

    YES = 'Y'
    NO = 'N'

    COM_MOD_CHOICES = [
        (YES, 'yes'),
        (NO, 'no'),
    ]

    com_mod = models.CharField(
        max_length=10,
        choices=COM_MOD_CHOICES,
        default=NO,
        verbose_name='评论审核',
    )
    ……
  • 首先定义一个二维向量,代表选择框可选的字段。第一个数据是数据库中实际保存的值,第二个数据是后台所显示的值。
  • 定义一个CharField字段,设置choices选项为前面定义的二维向量,同时设置了一个默认值no

查询评论

post.comment_set.filter(com_mod=Comment.YES).order_by('-created_time'):使用filter过滤,选择该字段是yes的。这个yes是后台审核评论没问题后更改的。

注意:我们过滤条件是字段com_mod="Y",前面提过二维向量中元组的第一个数据才是数据库中保存的值。


发表评论

评论列表,共 0 条评论

    暂无评论