为了账号安全,请及时绑定邮箱和手机立即绑定

由 dajngo queriset 订购

由 dajngo queriset 订购

料青山看我应如是 2023-07-27 10:14:52
我需要按 date_created 对查询集进行排序class Order(models.Model): STATUS = ( ('退货', '退货'), ('待发货', '待发货'), ('已发货', '已发货'), ('新订单' , '新订单'), ('持有', '持有'),    )user = models.ForeignKey(User,on_delete=models.CASCADE, null=True, blank=True)date_created = models.DateTimeField(auto_now_add=True, null=True)status = models.CharField(max_length=200, null=True , choices=STATUS, default='new order',blank=True)note = models.CharField(max_length=1000, null=True,blank=True)receiver_name= models.CharField(max_length=100)receiver_address= models.CharField(max_length=200)receiver_phone = models.CharField(max_length=50)order_number = models.CharField(max_length=50)condition= models.IntegerField(blank=True,default=0,null=True)delivery_cost = models.IntegerField(default=60,null=True,blank=True)def __str__(self):    return self.user.username强调文字all_order = Order.objects.exclude(status='新订单').order_by('order_date1')
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

all_order = Order.objects.exclude(status='new order').order_by('date_created')

应该做你想做的事。不确定你'order_date1'从哪里得到的,但由于你的 model 字段被调用,'date_created'你应该在 Django 查询中按它排序。'-date_created'或者,如果您想要降序排列(首先是最近的日期),则可以使用。


或者,如果您始终希望Order对象以这种方式排序,只需定义模型的元类,如下所示:


class Order(models.Model):

    ...

    class Meta:

        ordering = ['date_created']

这样,您就不必order_by()在每次检索查询集时都使用该方法,除非您想按'date_created'特定查询集以外的其他内容进行排序。


查看完整回答
反对 回复 2023-07-27
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信