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