Manytomany字段返回空列表

时间:2011-05-30 17:10:01

标签: django orm many-to-many

我是django的新手,所以可能不知道smth,但我通过谷歌搜索并没有得到任何答案。 我有这样的模特:

class Word(models.Model):
    word = models.CharField(max_length=100)
    img = models.ImageField(upload_to='img/', blank=True, null=True)
    audio = models.FileField(upload_to='audio/', blank=True, null=True)
    language = models.ForeignKey(Language)
    def __unicode__(self):
        return self.word

class Lesson(models.Model):
    title = models.CharField(max_length=100)
    language = models.ForeignKey(Language)
    lesson_words_list = models.ManyToManyField(Word)
    def __unicode__(self):
        return self.title

我在视图中有下一个功能:

def view_lesson(request, language, lesson_title):
    cur_lesson = Lesson.objects.filter(title__iexact = lesson_title).get(language__name__iexact=language)
    words_list = cur_lesson.lesson_words_list.all()
    return render_to_response("view_lesson.html", {"language":language, "lesson_title": lesson_title, "words_list":words_list})

这是我在模板中如何称呼它:

{% for Word in words_list %}        
{{ Word.word }}
{% endfor %}

问题是words_list是空的,而通过管理员我清楚地看到我的课程有相关的单词。 为什么它可能是空的?我应该在哪里寻找答案?

1 个答案:

答案 0 :(得分:2)

{{ cur_lesson }} 

在模板中显示正确的课程?

尝试:

{% for word in cur_lesson.lesson_word_list.all %}
    {{ word }}
{% endfor %}

另见

{{ cur_lesson.lesson_word_list.all }}

在模板中显示正确的单词列表