【发布时间】:2011-05-30 17:10:00
【问题描述】:
我是 django 的新手,所以可能不知道,但我已经通过谷歌搜索并没有得到任何答案。 我有这样的模型:
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 是空的,而通过管理员我清楚地看到我的课程有相关的单词。 为什么会是空的?我应该在哪里寻找答案?
【问题讨论】:
-
如何在模板中显示单词列表?此外,您的查询应该是 Lesson.objects.get(title__iexact = course_title, language__name__iexact=language)。没有意义的过滤,然后get'ing
-
哦,谢谢我没见过的提示。
标签: django orm many-to-many