我想以这种方式获取所有Menù
实例:
-在顶部将my_boolean_field
设置为True
的那些实例
-在最后一个位置将my_boolean_field
设置为False
的那些实例
这是我的Menù
模型和我的查询:
class Menù(models.Model):
id_menù = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, unique=True)
my_boolean_field = models.BooleanField(default=False)
# In my View:
my_query_set = Menù.objects.all().order_by('my_boolean_field')
我还通过选项搜索了group_by
,但是在Django ORM中没有找到任何内容
答案 0 :(得分:1)
您可以将-
添加到order_by
查询中,以降序进行排序,如下所示:
my_query_set = Menù.objects.all().order_by('-my_boolean_field') # first get True ones then get False ones
另一种方法是像这样将ordering
添加到模型Meta
类中:
class Menù(models.Model):
id_menù = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, unique=True)
my_boolean_field = models.BooleanField(default=False)
class Meta:
ordering = ('-my_boolean_field ',)
此更改之后,默认情况下,您对my_boolean_field
的查询将按降序排序,而无需使用order_by('-my_boolean_field')
:
my_query_set = Menù.objects.all() # results will be sorted by my_boolean_field in reverse order