stympel
@stympel
подпивасник

Почему некорректно работает отображения на обобщенных классах (Generic Editing Views)?

Всем привет, вот сижу, смотрю в код и не пойму, что не так.

Есть вот у меня urls.py
urlpatterns = [
    ...
    path(".../author/<id>/update/", AuthorUpdateView.as_view(), name="author-update-url"),
    ...


Вот views.py
...

class AuthorUpdatePageView(UpdateView):
    model = Author
    fields = ["first_name", "last_name", "date_of_birth", "date_of_death"]

    # В гайде работает без этого метода, пришлось переопределить
    def get_object(self, queryset=None):
        return Author.objects.get(id=self.kwargs.get("id"))
...

В общем, в гайде, все работает без переписывания метода get_object(). Причем, что странно, с этим методом и без этого метода итоговые пути одинаковые. Без метода ".../author/1/update/" и с этим методом ".../author/1/update/".

Выдает ошибку:
Generic detail view AuthorUpdatePageView must be called with either an object pk or a slug in the URLconf.


В целом, переписать метод не составляет никакого труда, но тем не менее, по какой причине это не работает?
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы