直到几天前,我一直在使用以下查询成功。下面的查询始终返回它应该返回数据:Django:Django QuerySet与日期选择工作不正常
try:
totals = MyObject.objects.get(date=report_date)
except MyObject.DoesNotExist:
return HttpResponse('Could not find totals from %s' % (report_date))
,几天前这个查询开始返回一个空的QuerySet,即使数据确实为我请求之日存在。
我从report_date = date.today().strftime('%Y-%m-%d')
或从形式
if request.method == 'POST':
form = DateForm(request.POST)
if form.is_valid:
report_date = request.POST['date']
模型得到的日期是简单的DateField()
class MyObject(models.Model):
"""Total numbers for a specific day"""
date = models.DateField()
... remaining fields ...
我已经通过shell证实没有实际上的数据今天在TotalTransactions的日期。我一直使用这个代码几个月没有问题。我昨天通过查询 totals = MyObject.objects.get(date__gte=report_date, date__lte=report_date)
,但今天早上它不再工作了!今天早上,我然后尝试原始查询date=report_date
和工作!
所以我的问题是:有没有人有过这个问题之前?任何人都可以在我的代码中看到我缺少的东西?有关更多解决方法的任何建议?我感谢你的时间。
我认为这实际上是一个损坏的数据库数据的问题。这个查询太简单了,不行,今天我会去查看它。 – dm03514 2011-03-25 15:41:08
从你的sql shell或者使用python/django代码中的原始sql,你能写一个简单的查询来检索这个日期项吗? – 2011-03-25 15:57:54
还有一个想法,也许问题是你的语言环境 - 当你有字符串(不是日期对象)系统语言环境很重要 – Jerzyk 2011-03-25 18:27:56