直到幾天前,我一直在使用以下查詢成功。下面的查詢始終返回它應該返回數據: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