【问题标题】:Django 1.6 Cant display a manytomany field from models in templateDjango 1.6 无法在模板中显示来自模型的多对多字段
【发布时间】:2014-07-28 21:12:05
【问题描述】:

我正在尝试在模板中显示来自医生模型的多对多字段。每个医生都有不止一种语言与之相关。所以我试图显示与每位医生相关的语言。我的问题是它没有显示任何东西

这是我要展示的模板

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

这是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)

【问题讨论】:

    标签: python django model many-to-many


    【解决方案1】:

    该字段名为language,而不是languages

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

    【讨论】:

    • 非常感谢。不敢相信我没有意识到这一点。
    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 2017-09-19
    • 1970-01-01
    • 2015-02-13
    • 2011-04-14
    • 2011-03-25
    • 2021-04-11
    • 2021-11-27
    相关资源
    最近更新 更多