Django Queryset - 过滤“结束日期之前”(如果存在)

时间:2015-10-08 20:25:03

标签: django date django-queryset django-south

我的模型用于没有DateField,现在我用“南方”迁移它;我正在添加一个“start_date”和“end_date”:

class MyModel(models.Model):
    my_attribute = models.CharField(max_length=100)
    start_date = models.DateField(default = date.today)#Newly added field
    end_date = models.DateField(blank=True, null=True)#Newly added field

对于数据库(以及未来的)上的现有记录,start_date将默认设置为今天的日期,旧记录将没有end_date,如果未指定,则未来的记录可能会有一个空白的end_date。

我的需要:给定日期:

  • 从DB过滤对象,如果对象同时具有开始日期和结束日期,则DATE在start_date和end_date之间(例如:MyModel.objects.filter(start_date__lte=DATE, end_date__gte=DATE

  • 从DB过滤对象,如果对象为空(或为空),则DATE比start_date更新end_date

我的迁移是否正确?

我应该使用哪个查询集来完成我的需要。

0 个答案:

没有答案