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)