Django 在会话用户中设置变量的ManyToManyField上进行查询

Django 在会话用户中设置变量的ManyToManyField上进行查询,django,django-models,django-queryset,django-sessions,Django,Django Models,Django Queryset,Django Sessions,这是我的模型: class Clients(models.Model): client_name = models.CharField(max_lenght=100) commentaire_clients = models.TextField(blank=False) date_demande = models.TimeField(auto_now_add=True) choix = models.ManyToManyField('Agence', blan

这是我的模型:

class Clients(models.Model):


    client_name = models.CharField(max_lenght=100)
    commentaire_clients = models.TextField(blank=False)
    date_demande = models.TimeField(auto_now_add=True)
    choix = models.ManyToManyField('Agence', blank=True)

    def __unicode__(self):
        return unicode(self.date_demande)


class Market(models.Model):
    nom_market = models.CharField(max_length=200)
    code_postal_market = models.ManyToManyField('Lieux', blank=True)
    statut_vip = models.BooleanField(default=False)

    def __unicode__(self):
        return self.nom_market 

class Lieux(models.Model):
    code_postal = models.CharField(max_length=200)
    ville = models.CharField(max_length=200)
    region = models.CharField(max_length=200)
    departement = models.CharField(max_length=200)
    longitude = models.DecimalField(max_digits=9, decimal_places=6)
    latitude = models.DecimalField(max_digits=9, decimal_places=6)
    pays = models.CharField(max_length=100)
    def __unicode__(self):
        return unicode(self.code_postal)
以下是我的看法:

def comparelist(request):

    if request.session.get('code_postal'):
        poste = request.session.get('code_postal')
    else:
        poste = "RATE"

    market_match = Market.objects.filter(statut_vip=False, code_postal_market = poste)
    market_match_vip = Market.objects.filter(statut_vip=True)

   #edit bis repetita Market replace Agence models 

    return render_to_response('compare.html', {
        'code_postale': poste,
        'bien_immobilier': bien,
        'listing_agence' : market_match ,
        'listing_vip' : market_match_vip ,
    })
我想做的是提出一个查询,它将为我提供所有匹配的市场: -statut\u vip=错误 -code_postal_market=poste(我从上一页的表单的用户会话中获得

然后,我尝试通过以下方式在我的模板中渲染它:

 {% for mes_market in listing_vip %}
        <br>{{mes_market.nom_market}}
        <br>{{mes_market.statut_vip}}
{% endfor %}       
{清单中mes_市场的%vip%}

{{mes_market.nom_market}
{{mesu_market.statutu_vip}} {%endfor%}
编辑

这是我列出代理的模板(与上一个模板相同,但有正确的参考)对于这个错误,我深表歉意

 {% for mes_agences in listing_agence %}
        <br>{{mes_agences.nom_market}}
        <br>{{mes_agences.statut_vip}}

{% endfor %}       
{%用于列表中的mes\ U代理%}

{{mes_agents.nom_market}
{{mes_agents.statutu vip} {%endfor%}
我的第二次查询列出所有VIP客户确实有效,但当我试图通过用户通过表单提供的邮政编码进行过滤时(并通过会话保留记录) 什么也没有出现

谢谢你的帮助!我终于成功了

我替换了:

market_match = Market.objects.filter(statut_vip=False, code_postal_market = poste)


代码来自表Lieux

代理机构
模型代码未显示我不确定您在这里问什么。
列出的vip
只是状态为\u vip=True的代理机构。依赖于会话变量的代理机构是
列出的代理机构
market_match = Market.objects.filter(statut_vip=False, code_postal_market__code_postal=poste)