我可以按用户指定的日期范围过滤记录吗?
我想在Django中创建一个Daterange表单(它将包含开始日期和结束日期),在该表单中,用户将提供其特定日期,并将根据用户给定的日期来过滤对象...
我可以在Django中执行此操作吗?
答案 0 :(得分:3)
是的,说模型看起来像:
File "/opt/.virtualenvs/lottostar/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 51, in load_middleware
raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware session_security.middleware: "cannot import name AppRegistryNotReady"
您可以使用以下方法获取class MyModel(models.Model):
date = models.DateField()
和MyModel
之间的所有2018-1-1
对象:
2018-2-9
因此,您可以使用如下形式:
from datetime import date
MyModel.objects.filter(date__range=(date(2018,1,1), date(2018, 2, 9)))
,然后在视图中进行过滤:
class DateRangeForm(forms.Form):
start_date = forms.DateField()
end_date = forms.DateField()