0
編輯:事實證明,我不相信遷移與導致此錯誤有任何關係。將值賦給查詢集的下標元素不起作用
在下面我選擇聚合值並將這些值分配回使用模型的代碼部分,我發現這些值沒有被分配,因爲我已經將應用程序從django dev服務器遷移到了apache。
我的調試輸出顯示在分配這些值後,該值永遠不會實際應用於模型實例,並且稍後進行保存時也會反映模型實例中保留的零。
Python代碼
cursor.execute("""select CUSTNBR,
FROMDATE,
sum(DECTHERMS) as DECTHERMS,
max(PRICE) as PRICE,
sum(SALESDLRS) as SALESDLRS,
sum(MCFS) as MCFS
from LQPPNATGAS
where CUSTNBR = ? and
FROMDATE <> '20000000'
group by CUSTNBR, FROMDATE """,str(cust_number))
row = cursor.fetchone()
while row:
if str(row.FROMDATE)[0:4] >= str(oldest_year):
b = Usage.objects.filter(user_id=user_id,from_date=row.FROMDATE)
b[0].decatherms = row.DECTHERMS
b[0].price = row.PRICE
b[0].sales_dollars = row.SALESDLRS
b[0].mcf = row.MCFS
b[0].save(update_fields=['decatherms','price','sales_dollars','mcf'])
print >> sys.stderr ,str(b[0].sales_dollars)+"="+str(row.SALESDLRS)
row = cursor.fetchone()
在error.log中輸出
[Thu Aug 29 07:47:15 2013] [error] 0.00=168.22
[Thu Aug 29 07:47:15 2013] [error] 0.00=16.78
[Thu Aug 29 07:47:15 2013] [error] 0.00=1107.88
[Thu Aug 29 07:47:15 2013] [error] 0.00=676.85
[Thu Aug 29 07:47:15 2013] [error] 0.00=28.38
[Thu Aug 29 07:47:15 2013] [error] 0.00=876.94
[Thu Aug 29 07:47:15 2013] [error] 0.00=833.21
[Thu Aug 29 07:47:15 2013] [error] 0.00=26.33
[Thu Aug 29 07:47:15 2013] [error] 0.00=130.85
[Thu Aug 29 07:47:15 2013] [error] 0.00=1058.53
你已經運行到一個事實,即[Django的查詢集懶](https://docs.djangoproject.com /en/1.5/topics/db/queries/#querysets-are-lazy)。 –