在Django模板中呈现ManytoManyfield,而不复制父Mod的内容

2024-05-13 11:49:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这件事上有很大的困难。在

我正在尝试按如下方式呈现模板:

公司名称A:

->邮政编码1

->邮政编码2

我现在有了这个结果:

公司名称A:

邮政编码1

公司名称A:

->邮政编码2

但我不想知道如何从现场进入。 (我还有一个额外的m2m字段,因此它将是另一个for循环)

这是我的代码:

模型.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

视图.py

^{pr2}$

b峎_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 %}

非常感谢你的帮助!在


Tags: self名称formodelsunicode公司lengthmax
1条回答
网友
1楼 · 发布于 2024-05-13 11:49:18

这应该对你有用

{% 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 %}

相关问题 更多 >