我在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