伙计们。在
如果请求.用户存在于我的表联盟成员的某一列user中。我发现的方法行不通。在
在视图.py在
@login_required(login_url='login/')
def search_leagues(request):
if request.method == 'POST':
return redirect('join_league')
leagues = League.objects.all()
return render(request, 'search_leagues.html', { 'allleagues': leagues })
在模型.py在
^{pr2}$搜索_联盟.html在
{% for league in allleagues %}
<tr>
<td class="center">{{ league.league_name }}</td>
<td class="center">{{ league.leaguemember_league.count}}/{{ league.leaguesettings_league.league_number_teams }}</td>
<td class="center">{{ league.leaguesettings_league.league_eligibility }}</td>
<td class="center">{{ league.leaguesettings_league.league_lifetime }}</td>
{% if request.user in league.leaguemember_league.user %}
DO SOMETHING!!!
{% else %}
{% if league.leaguemember_league.count < league.leaguesettings_league.league_number_teams %}
{% if league.leaguesettings_league.league_eligibility == "Private" %}
<form method="post" action="{% url 'joinleague' pk=league.id %}">
<td class="center"><a href="{% url 'joinleague' pk=league.id %}" class="btn btn-mini btn-warning">Soliticar</a></td>
</form>
{% elif league.leaguesettings_league.league_eligibility == "Public" %}
<form method="post" action="{% url 'joinleague' pk=league.id %}">
<td class="center"><a href="{% url 'joinleague' pk=league.id %}" class="btn btn-mini btn-info">Entrar</a></td>
</form>
{% endif %}
{% endif %}
{% endif %}
</tr>
{% endfor %}
此错误位于以下行:
{% if request.user in league.leaguemember_league.user %}
总是转到ELSE块
谢谢大家
league.leaguemember_league
不会给您一个LeagueMember
对象,而是一个^{user
属性,因此模板逻辑将不起作用)。在你要做的是在你的关系中深入两个层次(
League
->;LeagueMember
->;User
)。在模板中不容易实现这种逻辑,可能需要在视图代码中执行。例如:然后,您需要修改所有模板逻辑以使用此新结构:
^{pr2}$在
if
块中,您可以执行以下操作:请注意,如果您有大量的用户/联盟,那么这种查询可能不是非常有效—在这种情况下,您可能需要重新考虑您的模型设计。在
相关问题 更多 >
编程相关推荐