美文网首页
按choice的元祖第一个字段排序,第一个字段为char类型

按choice的元祖第一个字段排序,第一个字段为char类型

作者: lkning | 来源:发表于2018-04-09 16:44 被阅读0次

model

class Maintain(models.Model):
      STATUS = (
        ('NOT_PROCESS', '未处理'),
        ('MAINTAINED', '已保养'),
        ('ACCEPTED', '已受理'),
        ('EXPIRED', '已过期'),
        ('IGNORED', '已忽略'),
      )
      status = models.CharField('保养提醒状态', choices=STATUS, max_length=15)
queryset = queryset.extra(select={"sort": '''
    CASE status WHEN 'ACCEPTED' THEN 1 
                WHEN 'MAINTAINED' THEN 2 
                WHEN 'IGNORED' THEN 3 
                WHEN 'EXPIRED' THEN 4 
                ELSE 5
                END
    '''}).order_by('sort')

按照状态自定义排序,select={"sort": '''1"},相当于在每个对象中添加了新的属性,可以按照这个新属性排序

相关文章

网友评论

      本文标题:按choice的元祖第一个字段排序,第一个字段为char类型

      本文链接:https://www.haomeiwen.com/subject/dovihftx.html