Django:按2个日期排序

时间:2016-05-22 10:05:19

标签: django django-models

我有一个包含日期字段的模型,我想按3个日期字段对实例进行排序。现在,我尝试了这个:

class Task(models.Model) :
    title = models.CharField(max_length=100)
    created_at = models.DateField(auto_now_add=True,editable=False) 
    date_start = models.DateField(default=datetime.date.today) 
    date_end = models.DateField() 

    class Meta:
        ordering = ['-date_start','-date_end','-created_at']

所以,如果我有这3个实例:

  • Task1(date_start = 22/05 / 2016,date_end = 26/05/2016,created_at = 22/05/2016)
  • Task2(date_start = 30/2016/2016,date_end = 01/01/2017,created_at = 22/05/2016)
  • Task3(date_start = 2016年10月30日,date_end = 2016年12月25日,created_at = 22/05/2016)

我想要这个订单:

  1. Task1(date_start是第一个)
  2. Task3(date_start与Task3类似,但date_end更新)
  3. Task2
  4. 为什么我的订单不起作用?

1 个答案:

答案 0 :(得分:0)

你应该这样做:['date_start',' date_end']

-符号表示降序,但您需要升序。

更多文档:order_by docs