我如何调用模板中的外键字段 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)
如何将 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)