django queryset中的日期时间和日期比较

vkr*_*ams 1 forms django datetime

嗨我有一个用户输入表格,2011-05-12格式化日期.我想使用查询结果Q.但是我的数据库字段是日期时间格式的2011-05-18 08:36:34.我正在给出这样的查询

k = Posts.objects.filter(Q(review_email__contains = user), review_time = datetime(date))where user是一些用户名,date是输入值的形式

如果我执行上述查询,我​​将收到以下错误

Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我解决这个问题.提前致谢

Sam*_*lan 7

错误来自于没有做datetime.datetime,但是一旦你解决了这个问题,你的查询就会遇到错误的结果.当您要挟datetime.datedatetime.datetime对象时,它会在午夜.因此,仅Posts在当天午夜创建的匹配项才会匹配.

你应该这样做:

Post.objects.filter(
     review_email__contains = user, 
     review_time__year=date.year, 
     review_time__day=date.day, 
     review_time__month=date.month,
 )
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅queryset参考.

另外,您并不需要Q在此使用该对象.