我需要按 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'特定查詢集以外的其他內容進行排序。
添加回答
舉報
0/150
提交
取消