0

我是新手..(Django 和 Stackoverflow)

我得到了这个项目,我想将来自两个不同模型的数据显示为一组数据。

模板

 <div>
 {% for j in Es %}
     {{ j.id }}
     {{ j.Entreprise }}
     {{ j.Ville }}<br />
     {{ j.Pays }}
     {{ j.Poste}}
     {{ j.Departement }}<br />
     {{ j.Redacteur }}
     {{ j.Debut }}<br />
     {{ j.Fin }}<br />
     <a style="color: #404040;" href="/cv/creer/Exptech/{{ j.id }}/{{ j.Entreprise }}/{{ j.Departement }}"> Decrire mon expérience technique</a><br />
     <a style="color:#404040;" href="/cv/creer/Expskil/{{ j.id }}/{{ j.Entreprise }}/{{ j.Departement }}"> Decrire mon expérience skills</a><br />
     <a style="color: #404040;" href="/deletex/{{ j.id }}/{{ j.Entreprise }}"> supprimer</a><br />
 {% endfor %}

 {% for s in Tecs %}
     {{ s.Entreprise }}<br />
 {% endfor %}
 </div>

模型.py

class Experience (models.Model):
    Entreprise = models.CharField(max_length=100)
    Ville = models.CharField(max_length=100)
    Pays =  models.CharField(max_length=100)
    Poste = models.CharField(max_length=100)
    DEPARTEMENT_CHOICES = (
    ('Marketing','Marketing'),
    ('Finance','Finance'),
    ('Vente','Vente'),
    )
    Departement = models.CharField(max_length=100, choices=DEPARTEMENT_CHOICES)
    Debut = models.DateField()
    Fin =   models.DateField()
    Auteur = models.CharField(max_length=100)

    def __unicode__(self):
        return self.Entreprise

class Exptech (models.Model):
    Ids = models.CharField(max_length=100)
    Entreprise= models.ForeignKey(Experience)
    Departement = models.CharField(max_length=100)
    Auteur = models.CharField(max_length=100)
    Exp1 = models.TextField()
    Exp2 = models.TextField()
    Exp3 = models.TextField()

class Skills (models.Model):
    Ids = models.CharField(max_length=100)
    Entreprise= models.ForeignKey(Experience)
    Departement = models.CharField(max_length=100)
    Auteur = models.CharField(max_length=100)
    Exp1 = models.TextField()
    Exp2 = models.TextField()
    Exp3 = models.TextField()

视图.py

def complete(request):
    if not request.user.is_authenticated():
        return HttpResponse('<p> impossible dacceder a la page </p>')

    k = request.user.username
    ec = Etatcivil.objects.filter(Auteur=k)
    f = Formation.objects.filter(Auteur=k)
    E = Experience.objects.filter(Auteur=k)
    Tec = Exptech.objects.filter(Auteur=k)
    Ski = Skills.objects.filter(Auteur=k)
    return render_to_response('cv/cv.html', {'ecs':ec, 'fs': f, 'Es': E, 'Tecs': Tec, 'Skis': Ski})

所有这一切我的问题是:

在模型上:Exptech 和 Skills 类取决于 Experience 类(ForeingKey 关系) 在我的模板中,当我渲染视图时,我得到一个 Experience 列表,然后是一个 Exptech 对象列表。

我不想有这个列表,而是一对“经验”和“Exptech”对象,其中 Exptech 对象依赖于 Experience 对象。不是所有“Exptech”对象之前的所有“体验”对象。

我找不到如何做到这一点...

有人可以帮我吗?如果需要,我会提供更多信息我不确定这是否清楚。

4

1 回答 1

0

你可以这样做:

{% for s in Tecs %}
{{ s.auteur }} <-----> {{ s.enterprise.ville }}
{% endfor %}

有关外键的更多信息: https ://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey

而且我还猜想您想从 Auteur 等领域制作一个单独的模型,因为您在其他模型之间广泛使用它。

于 2013-11-02T09:04:48.367 回答