django - 访问模板内的foreignKey

标签 django django-models django-templates

嗯,这很简单。 2个具有ManyToMany关系的模型:

class Artist(models.Model):
   name = models.CharField(max_length=100, unique=True)
   slug = models.SlugField(max_length=100, unique=True,
            help_text='Uniq value for artist page URL, created from name')
   birth_name = models.CharField(max_length=100, blank=True)


class Song(models.Model):
   title = models.CharField(max_length=255)  
   slug = models.SlugField(max_length=255, unique=True,
            help_text='Unique value for product page URL, create from name.')
   youtube_link = models.URLField(blank=False)
   artists = models.ManyToManyField(Artist)

我的 View 应该显示最新的 5 首歌曲:

def songs(request, template_name="artists/songs.html"):
   song_list = Song.objects.all().order_by('-created_at')[:5]
   return render_to_response(template_name, locals(),
                          context_instance=RequestContext(request))

问题出在模板中...我想显示艺术家姓名 但只是不知道该怎么做,我尝试过:

{% for song in song_list %}
    {{ artists__name }} - {{ song.title }} 
{% endfor %}  

非常感谢任何帮助!

最佳答案

尝试将模板代码更改为:

{% for song in song_list %}
  {% for artist in song.artists.all %}
    {{ artist.name }} - {{ song.title }} 
  {% endfor %}
{% endfor %}  

关于django - 访问模板内的foreignKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2055993/

相关文章:

jquery - 使用 Django + Jquery 聊天弹出窗口

python - Django 计算字段不会出现在迁移中

python - Django json字段形成字段

python - django/python - 正则表达式

python - 基本 Python、Django、DRY - 从(模型)类调用方法

django - 列出链接到模型的外键

python - 如何将Django模板中的{{fieldset.fields}}转换为字符串?

python - Mako 动态模板继承

python - 如何使用 CBV 在所有 Django 模板中创建侧边栏?

python - 如何在 django 模板中呈现有序字典?