Python 在django模板中呈现ManytoManyfield,而不复制父模型的内容
在这一点上我有很大的困难 我正在尝试如下方式呈现我的模板: 公司名称A: ->后代码1 ->后代码2 我现在有一个结果: 公司名称A: ->后代码1 公司名称A: ->后代码2 我知道这是从for循环,我有超过cp,但我不知道如何访问M2M字段,以显示它像我想。 (我还有一个额外的m2m字段,因此它将是另一个for循环) 这是我的密码: 型号.pyPython 在django模板中呈现ManytoManyfield,而不复制父模型的内容,python,django,django-models,django-templates,django-orm,Python,Django,Django Models,Django Templates,Django Orm,在这一点上我有很大的困难 我正在尝试如下方式呈现我的模板: 公司名称A: ->后代码1 ->后代码2 我现在有一个结果: 公司名称A: ->后代码1 公司名称A: ->后代码2 我知道这是从for循环,我有超过cp,但我不知道如何访问M2M字段,以显示它像我想。 (我还有一个额外的m2m字段,因此它将是另一个for循环) 这是我的密码: 型号.py class Company(models.Model): utilisateur = models.ForeignKey(User)
class Company(models.Model):
utilisateur = models.ForeignKey(User)
nom_cpny = models.CharField(max_length=200)
code_postal_cpny = models.ManyToManyField('Place', blank=True)
gestion_cpny = models.ManyToManyField('Companytype', blank=True)
def __unicode__(self):
return self.nom_cpny
class Place(models.Model):
postalcode = 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.postalcode)
class Companytype(models.Model):
cpny_type = models.CharField(max_length=100, blank=False)
employee_base = models.IntegerField(blank=False)
def __unicode__(self):
return self.cpny_type
@login_required
def listing_cpny(request):
cpny_in = Company.objects.all().filter(utilisateur=request.user)
utilisateur = request.user
args = {}
args.update(csrf(request))
args['cpny_in'] = cpny_in
args['utilisateur'] = utilisateur
return render_to_response('b_dashboard_annonces.html', args) views.py
视图.py
class Company(models.Model):
utilisateur = models.ForeignKey(User)
nom_cpny = models.CharField(max_length=200)
code_postal_cpny = models.ManyToManyField('Place', blank=True)
gestion_cpny = models.ManyToManyField('Companytype', blank=True)
def __unicode__(self):
return self.nom_cpny
class Place(models.Model):
postalcode = 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.postalcode)
class Companytype(models.Model):
cpny_type = models.CharField(max_length=100, blank=False)
employee_base = models.IntegerField(blank=False)
def __unicode__(self):
return self.cpny_type
@login_required
def listing_cpny(request):
cpny_in = Company.objects.all().filter(utilisateur=request.user)
utilisateur = request.user
args = {}
args.update(csrf(request))
args['cpny_in'] = cpny_in
args['utilisateur'] = utilisateur
return render_to_response('b_dashboard_annonces.html', args) views.py
b_dashboard_annonces.html
{% for annonce in cpny_in %}
{% for cp in annonce.code_postal_cpny.all %}
{% if annonce.utilisateur.id == utilisateur.id %}
<td>{{annonce.nom_cpny}}</td>
<td>{{cp }}</td>
</tr>
{% endif %}
{% endfor %}
{% endfor %}
{%for annonce in%cpny_in%}
{annonce.code_postal_cpny.all%}
{%if annonce.usiliateur.id==usiliateur.id%}
{{annonce.nom_cpny}}
{{cp}}
{%endif%}
{%endfor%}
{%endfor%}
非常感谢你的帮助 这应该适合你
{% for annonce in cpny_in %}
<tr>
<td>{{annonce.nom_cpny}}</td>
{% for cp in annonce.code_postal_cpny.all %}
{% if annonce.utilisateur.id == utilisateur.id %}
<td>{{cp }}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
{%for annonce in%cpny_in%}
{{annonce.nom_cpny}}
{annonce.code_postal_cpny.all%}
{%if annonce.usiliateur.id==usiliateur.id%}
{{cp}}
{%endif%}
{%endfor%}
{%endfor%}
@blobmarket感谢您的帮助!我想我什么都试过了,除了考虑如何渲染它。