检查列表中是否存在多行

时间:2014-01-04 11:18:39

标签: django python-2.7

我想检查request.user.id中是否存在profiles.profile_idblock_lists_with_id。我是django的新手。所以,如果问题不正确,请有人帮我纠正这个问题。

Models.py

class profiles(models.Model):
    profile_id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User)
    -----
class Block_list(models.Model):
    who = models.ForeignKey(User)
    whose = models.IntegerField(null=True)

Views.py

def view_profiles(request):
    block_lists_with_id = Block_list.objects.values_list('who_id', 'whose')
    return render_to_response('profiles/all.html', {'block_lists_with_id':block_lists_with_id}, context_instance=RequestContext(request),)

模板

我不知道给定的模板是否正确。但我想要这种类型的检查。所以有人请建议我一个正确的方法。

{%if request.user.id and profiles.profile_id in block_lists_with_id %}
   done
{% endif %}

1 个答案:

答案 0 :(得分:0)

我为我的问题找到了解决方案。我改变了这一点  block_lists_with_id=Block_list.objects.values_list('who_id', 'whose')

block_lists_with_id = Block_list.objects.filter(who_id = user_id).values_list('whose', flat=True)

<强> views.py

def view_profiles(request):
    block_lists_with_id = Block_list.objects.filter(who_id = user_id).values_list('whose', flat=True) 
    return render_to_response('profiles/all.html', {'block_lists_with_id':block_lists_with_id}, context_instance=RequestContext(request),)

<强>模板

{% if profile.user_id in block_lists_with_id %}
 done
{% endif %}