擅长:python、mysql、java
<p>你不需要这么复杂的逻辑。只需使用传递给视图的参数填充搜索条件,如下所示:</p>
<pre><code>criteria = {}
if group_id:
criteria['member_of_group'] = int(group_id)
if sex:
criteria['sex'] = int(sex)
if smoking:
criteria['personal.smoking'] = int(smoking)
vkusers = Vkuser._get_collection().find(criteria)
</code></pre>
<p>是的,考虑切换到常规GET参数,如@daniel roseman建议的那样。对于像您问题中那样的url,您无法从<code>/user/group/smoking/</code>确定<code>/user/group/sex/</code>url。你知道吗</p>
<p><strong>更新</strong>:<code>request.GET</code>是类似dict的对象,因此可以使用<code>in</code>表达式:</p>
<pre><code>if 'sex' in request.GET:
criteria['sex'] = int(request.GET['sex'])
</code></pre>