多字段Django排序
我对django订购有奇怪的问题。由于某些原因,我无法按多个字段对列表视图排序 这是我的班级多字段Django排序,django,orm,sql-order-by,Django,Orm,Sql Order By,我对django订购有奇怪的问题。由于某些原因,我无法按多个字段对列表视图排序 这是我的班级 class Syslog(models.Model): receivedat = models.DateTimeField(default=timezone.now) facility = models.PositiveSmallIntegerField() priority = models.PositiveSmallIntegerField() fromHost =
class Syslog(models.Model):
receivedat = models.DateTimeField(default=timezone.now)
facility = models.PositiveSmallIntegerField()
priority = models.PositiveSmallIntegerField()
fromHost = models.CharField(max_length=50)
message = models.TextField(max_length=500)
class Meta:
ordering = ['id','receivedat', 'fromHost']
下面是我的视图类:
class HomePageView(ListView):
model = Syslog
template_name = 'home.html'
context_object_name = 'all_logs'
paginate_by = 10
ordering = ['-id', 'receivedat', 'fromHost']
当指定了排序中的单个字段时(例如排序=['-id']
),但当我添加第二个或第三个参数时,所有内容都返回默认值(仅识别排序的第一个字段)
有没有人遇到过类似的问题
Django shell中也存在同样的问题。当我执行以下查询时,Syslog.objects.all().order_by('id')
一切看起来都很好,但是当我向order_by添加另一个字段时(例如,Syslog.objects.all().order_by('id','fromHost')
),第二个字段根本无法识别
问候,,
JordanIntsead of this->Syslog.objects.all().order_by('id','fromHost')
使用此->Syslog.objects.order\u by('id','fromHost')
删除此->Syslog.objects.all().order\u by('id','fromHost')的.all()Intsead
使用此->Syslog.objects.order\u by('id','fromHost')
删除.all()
在我的问题上睡了一觉之后,我已经找出了为什么我没有得到我期望的结果。问题是,我的开发数据集非常相似,虽然排序发生了变化,但由于对象的相似性,它没有反映在模板上。在我的问题上睡了一觉后,我已经找到了为什么我没有得到预期的结果。问题是,我的开发数据集非常相似,虽然排序发生了变化,但由于对象的相似性,它没有反映在模板上。这也没有帮助,但正如官方文档中所述,您必须使用的是没有。all()
-这也没有帮助,但正如官方文件中所述,您必须使用的是无.all()
-