我如何调用模板中的外键字段 html django

How can i call the fields of a foreignkey in the template html django

如何将 movie_details 和演员字段或变量从 model.py 中的 MovieDetail class 调用到我的 html 模板。非常感谢,我是 django 的新手,会喜欢这里的解决方案。

Models.py

from django.db import models
from datetime import datetime
# Create your models here.

class MoviePosters(models.Model):
    image = models.ImageField(upload_to = "pics")
    Title = models.CharField(max_length=50)
    Description = models.CharField(max_length = 150)


class MovieSection(models.Model):
    image_side = models.ImageField(upload_to = "pics")
    title_side = models.CharField(max_length=50)
    movie_link = models.CharField(max_length=20)

    class meta:
        verbose_name_plural = "Section"

    def __str__(self):
        return self.title_side


class MovieDetails(models.Model):
    movie_section = models.ForeignKey(MovieSection, on_delete= models.CASCADE)
    movie_details = models.CharField(max_length= 200)
    actors = models.CharField(max_length= 200)

    class meta:
        verbose_name_plural = "movie_details"

    def __str__(self):
        return self.movie_details

Views.py

from django.shortcuts import render
from django.http import Http404
from django.http import HttpResponse
from .models import MoviePosters, MovieSection,Ticket, MovieDetails

def single_link(request, single_link):
    movie_details = MovieSection.objects.get(pk=single_link)   
    return render(request, "reviewmovie.html", {"part_ones": movie_details})
    

设置一个相关名称选项(related_name='moviesection'):

    movie_section = models.ForeignKey(MovieSection, on_delete= models.CASCADE, related_name='moviesection')

然后您将能够通过以下方式访问 MovieDetails:

movie_details.moviesection.all()

此外,重命名 single_link 函数中的 movie_details,因为它的名称与模型中的名称相同,可能会导致混淆。

您似乎有兴趣从 MovieDetails 模型中获取数据,因此考虑 运行 一个查询来过滤您在该模型中查找的内容。类似于:

movie_details = MovieDetails.objects.get(movie_section__pk=single_link)