简体   繁体   English

Django 1.6 Cant在模板中显示模型中的多个字段

[英]Django 1.6 Cant display a manytomany field from models in template

I'm trying to display a manytomany field from doctor models in template. 我正在尝试在模板中显示医生模型的众多字段。 Every doctor has more than one language associated to it. 每个医生都有不只一种语言。 So I'm trying to display languages associated to each doctor. 因此,我试图显示与每个医生相关的语言。 The problem I have is that it's not showing me anything 我的问题是它什么也没给我显示

Here is my template where I'm trying to show 这是我要显示的模板

 {% for a in doctor.languages.all %}
            <p>{{a}}</p>
        {% endfor %}

Here is the models.py 这是models.py

class Language(models.Model):
    '''
    a = "English"
    b = "Arabic"
    c = "Hindi"
    d = "Urdu"
    e = "Bengali"
    f = "Malayalam"
    g = "French"
    h = "Spanish"
    '''
    name = models.CharField(max_length=200)
    def __unicode__(self):
        return self.name

class Doctor(models.Model):
    name = models.CharField(max_length=30)
    specialization = models.ForeignKey(Specialization)
    clinic = models.ForeignKey(Clinic)
    seekers = models.ManyToManyField(DoctorSeeker, through='Review')
    language = models.ManyToManyField(Language)
    education1 = models.CharField(max_length=100)
    education2 = models.CharField(max_length=100, null = True)
    gender_choices = ( ('M', 'Male'), ('F','Female'),)
    gender = models.CharField(max_length=5, choices = gender_choices, null=True)
    profile_pic = models.ImageField(upload_to='uploads/', null=True)
    statement = models.TextField(null=True)
    affiliation = models.CharField(max_length=100, null = True)

    def __unicode__(self):
      return u"%s %s" % (self.name, self.specialization)

The field is called language , not languages : 该字段称为language ,而不是languages

{% for a in doctor.language.all %}
    <p>{{ a }}</p>
{% endfor %}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM