1
我有一个模型值的Django的查询集,排序基于选择现场
class Example(models.Model):
MY_CHOICES = (
("yes", _("Yes")),
("no", _("NO")),
("not_sure", _("Not sure")),
)
name = models.CharField(max_length=200, verbose_name=_('Name'))
status = models.CharField(max_length=100,choices=MY_CHOICES,default='yes')
我需要在get_queryset方法排序的查询集,即
def get_queryset(self, request):
qs = self.model._default_manager.get_queryset()
order = ['yes', 'no', 'not_sure']
qs = #CODE TO ORDER THE S HERE BASED ON order.
return qs
*我需要的返回值是一个QuerySet而不是一个排序列表。 * qs需要根据状态值按照“yes”,“no”,“not_sure”顺序进行排序。
请注意:我需要基于对象属性值(即状态值)的thr QS。在状态的命令对象=“是”第一其次是“没有”和“not_sure”
使命令选择字段,然后按照第一个值将1,2,3等依次选择排序,如Order_choice =((1,是),(2,no),(3,not_sure)) –
Thanx,但在这里我需要的分贝值相同的'是','不'和'not_sure'。这会将数字存储在数据库中。 :( –
元的排序是不是足够了?class Meta:ordering = ['status']'。'get_queryset'有特定的原因吗? – Pynchia