我在Django和Python中很新,這將是一個非常基本的問題。在Django視圖中按月過濾
我面臨的問題,而我試圖在我的Django應用程序中添加一個全文搜索機制。
說明的搜索機制: 我有一個UserCommission模型,其中手續費數據被存儲針對不同類型的用戶,顯然我UserCommission模型有CREATED_TIME場,這是一個DateTimeField字段。現在我正在嘗試針對每個月搜索用戶佣金。
這是我的觀點文件(僅表格)
<form role="form" method='post' action='/showphoto/user_commission_results/'>
<tr>
{% csrf_token %}
<td><select name="year">
<option value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
</td>
<td>
<input type='submit' value='search' />
</td>
</tr>
</form>
這是我的模型
class UserCommission(models.Model):
user = models.ForeignKey(User)
created_time = models.DateTimeField('Created Time',auto_now_add=True)
commission = models.IntegerField()
,這是我對搜索
def user_commission_results(request):
year = request.POST.get('year')
commission_results = UserCommission.objects.filter(created_time.month=year)
return render_to_response('photo/user_commission_results.html',{'commission_results':commission_results},context_instance=RequestContext(request))
的看法,但我面對出現以下錯誤,
SyntaxError at/
keyword can't be an expression (views.py, line 154)
這條線154表示**
commission_results = UserCommission.objects.filter(created_time.month=year)
我的視圖文件的
。
因爲我幾乎是一個新手,我無法弄清楚是怎麼回事。 在django中創建一個全文seacrh是否正確?如果是,那麼我在這裏做了什麼錯誤?
UPDATE: 的錯誤我在做,我是用點的過濾參數在我看來
commission_results = UserCommission.objects.filter(created_time.month=year)
這實際上導致了錯誤,現在改成了這樣
(。)commission_results = UserCommission.objects.filter(created_time__month=year)
,但現在我是一個錯誤,是
ValueError at /showphoto/user_commission_results/
invalid literal for int() with base 10: 'May'
選擇一個月後(5月)進行搜索。
whats'「」'在你視圖中的else之後嗎?你有一個'SyntaxError'錯誤! – Kasramvd 2014-09-21 06:14:24
是否導致錯誤? @卡斯拉 – RTan 2014-09-21 06:17:04
不,我只是問!我認爲這個錯誤是因爲'UserCommission.objects.filter'中的''。你會在視圖中說出'154'這行嗎? – Kasramvd 2014-09-21 06:17:24