Есть представление с полем поиска фильмов, после ввода редиректит на страницу этого фильма
class FindFilms(FormView):
template_name = 'rating/search.html'
form_class = SearchFilms
success_url = '/page'
def form_valid(self, form):
cd = form.cleaned_data
return redirect(f'/page/{cd["film"].lower()}')
тут пользователь может поставить оценку и он записывается в поле JSONField
class ShowPage(BaseFormView,DetailView):
model = InfoFilms
template_name = 'rating/page.html'
slug_url_kwarg = 'page_slug'
slug_field = 'slug'
form_class = Score
success_url = '/'
def form_valid(self,form):
cd = form.cleaned_data
data = RatingUsers.objects.filter(user_nickname=get_current_authenticated_user()).get().film_name
data['films'].append({self.get_queryset()[0].name: cd['mark']})
RatingUsers.objects.filter(user_nickname=get_current_authenticated_user()).update(
film_name=data)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
zapros = RatingUsers.objects.get(user_nickname = get_current_authenticated_user())
if self.request.method == 'GET':
try:
context['form'] = Score(initial={'mark':zapros.film_name['films'][context['object'].name]})
except Exception:
pass
print(context)
return context
но я не понимаю как получить само название фильма, по которому можно например отфильтровать запрос в бд,
но в context выводит такой {'object': , 'infofilms': , 'form': , 'view':
958A0>} и он меняется на ту запись которую я указываю в поиске, подумал , что может быть возможно из slug как-то взять название, но я не понимаю как