Я наткнулся на эту проблему, и мой мозг новичка разгорелся, пытаясь ее решить.Я чувствую, что здесь есть некоторые основные понятия, которые мне не хватает.
Итак, у меня есть эта модель «Фильмы» с полем выбора категории и отношением m2m к модели «Режиссеры», и я пытаюсь написать 2 разных просмотра, один из которых возвращает список фильмов, отфильтрованных по категориям.и тот, который возвращает список фильмов, отфильтрованных режиссером.Первый из них прост, но я просто не знаю, как получить поле имени модели директора для создания второго фильтра.
Итак, у меня есть эти модели (я вынул ненужные вещи, включая категорию, о которой я упоминал выше)
class Director(models.Model):
name = models.CharField(max_length=50)
web = models.URLField(blank=True, help_text= "opcional")
class Film(models.Model):
name = models.CharField(max_length=50)
slug = models.SlugField(max_length= 15)
director = models.ManyToManyField(Director, blank=True, help_text= "opcional")
этот URL
(r'^peliculas/director/(?P<director>\w+)/$', 'filtered_by_director'),
и этоview
def filtered_by_director(request,director):
return list_detail.object_list(
request,
queryset = Film.objects.filter(director.name=director),
template_name ='sections/film_list.html',
template_object_name = 'film',
paginate_by = 3
)
Предполагается, что оба представления используют один и тот же шаблон для визуализации соответствующего списка объектов. Представлению не нравится фильтр, который я использую в наборе запросов для поля m2m, но яПонятия не имею, как это сделать на самом деле, я попробовал все, что мог придумать, и это дает мне ошибку «ключевое слово не может быть выражением»
Любая помощь этому скромному новичку будет принята с благодарностью.