我无法让这个外键表值显示在 django 模板中



我不能得到一些ForeignKey值显示在我的模板。这是问题中涉及的两个模型:

** Models.py **

class Portfolio(models.Model):
title = models.CharField(max_length= 50, null= True)
description = models.TextField(max_length= 300, null= True)
class Spotify_Playlist(models.Model):
portfolio = models.ForeignKey(Portfolio, on_delete= models.CASCADE, null= True)
title = models.CharField(max_length= 50)
spotify_url = models.CharField(max_length= 50)
description = models.TextField(max_length= 100, null= True)
artist_img = models.ImageField(null= True, upload_to= 'image/')

Admin.py ***

@admin.register(Portfolio)
class PortfolioAdmin(admin.ModelAdmin):
inlines = [
SpotyListInline,
SpotySingleInline,
YoutubeInline,
]
class SpotyListInline(admin.TabularInline):
model = Spotify_Playlist

所以我试图在我的模板中显示spotify播放列表,像这样

*** index.html ***

<section id="portfolio">
{% for portfolio in portfolios %}
<h1>{{ portfolio.title }}</h1>
<p>{{ portfolio.description }}</p>
{% for playlist in portfolio.Spotify_Playlist_set.all %}
<p>{{playlist.title}}</p>
<iframe src='https://open.spotify.com/embed/playlist/{{ playlist.spotify_url }}'
width="50%" height="380" frameBorder="0" allowtransparency="true" allow="encrypted-media"></iframe>
{% endfor %}    
{% endfor %}
</section>

但是{{播放列表。Title}}和嵌入播放器的{{播放列表。Spotify_url}}没有显示。我将非常感谢任何帮助

默认的反向关系名称为小写。试一试:

{% for playlist in portfolio.spotify_playlist_set.all %}

从文档https://docs.djangoproject.com/en/dev/topics/db/queries/#following-relationships-backward:

如果一个模型有一个ForeignKey,外键模型的实例将可以访问返回第一个模型的所有实例的Manager。默认情况下,这个管理器命名为FOO_set,其中FOO是源模型名,小写。这个管理器返回QuerySets,可以按照上面"检索对象"一节的描述对其进行过滤和操作。

相关内容

  • 没有找到相关文章

最新更新