【发布时间】:2020-07-04 11:00:23
【问题描述】:
我有一个电影类型列表。每种类型都有自己的电影。例如,每个电影类型都有一个电影列表,但 object_list 为空。
github链接:https://github.com/AdebayoAnuoluwapo/imdb-original.git
我的观点:
class MovieCategory(ListView):
model = Movie
paginate_by = 2
def get_queryset(self):
self.category = self.kwargs['category']
return Movie.objects.filter(category=self.category)
def get_context_data(self , **kwargs):
context = super(MovieCategory , self).get_context_data(**kwargs)
context['movie_category'] = self.category
print(context)
return context
我的模特:
ACTION = 'action'
DRAMA = 'drama'
COMEDY = 'comedy'
ROMANCE = 'romance'
CATEGORY_CHOICES = (
(ACTION, 'Action'),
(DRAMA, 'Drama'),
(COMEDY, 'Comedy'),
(ROMANCE, 'Romance'),
)
class Movie(models.Model):
title = models.CharField(max_length=200)
description = models.TextField(max_length=2000)
image = models.ImageField(upload_to='movies')
category = models.CharField(choices=CATEGORY_CHOICES, max_length=10)
language = models.CharField(choices=LANGUAGE_CHOICES, max_length=7)
status = models.CharField(choices=STATUS_CHOICES, max_length=2)
cast = models.CharField(max_length=100)
year_of_production = models.DateField()
views_count = models.IntegerField(default=0)
def __str__(self):
return self.title
我的网址:
from django.urls import path
from . import views
app_name = 'movie'
urlpatterns = [
path('', views.HomeView.as_view(), name='home'),
path('list/', views.MovieListView.as_view(), name='movie_list'),
path('category/<str:category>', views.MovieCategory.as_view() , name='movie_category'),
path('language/<str:lang>', views.MovieLanguage.as_view(), name='movie_language'),
path('search/', views.MovieSearch.as_view() , name='movie_search'),
path('<int:pk>/', views.MovieDetailView.as_view(), name='movie_detail'),
]
当我打印(上下文)时,我得到
'object_list': <QuerySet []>,
'movie_list': <QuerySet []>
提前致谢...
【问题讨论】:
-
数据库中有这些类别的数据吗?
-
您调用的网址中的类别名称是否正确?
-
@hendrikschneider 是的,它是正确的。
-
@WillemVanOnsem 数据库中有数据。
标签: django django-models django-views django-queryset