170 похожих чатов

DRF. Как в ModelViewSet переназначить метод retrieve, update и destroy, чтобы

они не искали объект по <pk>, а вместо этого использовали self.request.user?
Или просто роутер надо настроить?
CRUD нужен по url "user", а не "user/<pk>"

get_object и get_queryset переопределю.
Как с урлом быть?

Хочется отнаследоваться от ModelViewSet и просто сделать где-то "detail=False"

19 ответов

34 просмотра

https://t.me/pydjango

Максим-Василькин Автор вопроса
Yegor 𓃰
https://t.me/pydjango

спасибо, там уже задал - пока не помогли...

Если что, наследование и переопределение в Джанго, работают также как и в питоне

Максим-Василькин Автор вопроса
Yegor 𓃰
Если что, наследование и переопределение в Джанго,...

это я знаю) я не знаю, ЧТО именно надо переопределить

Максим Василькин
это я знаю) я не знаю, ЧТО именно надо переопредел...

В вскоде и пайчарме есть клавиша GoToDefinition, там можешь нужный класс открыть

А нужен ли тебе этот моделвьюсет - вот ещё такой вопрос должен появиться)

Чем просто ViewSet не подошел?

Какой функционал от ModelViewSet тебе нужен (которого нет во ViewSet)

Максим-Василькин Автор вопроса
Владимир
Чем просто ViewSet не подошел?

хороший вопрос. Как я понимаю, во ViewSet я буду должен сам прописывать все методы. А они у меня по логике стандартные, разница только в detail=False

Максим Василькин
хороший вопрос. Как я понимаю, во ViewSet я буду д...

Имхо возьми ViewSet и просто по мануалу разберёшься, пока не вижу причин выбирать ModelViewSet

Максим-Василькин Автор вопроса
Yegor 𓃰
Ты нашёл всё таки кнопку GoToDefinition у себя?

это ctrl. Вот исходника ретрива class RetrieveModelMixin: """ Retrieve a model instance. """ def retrieve(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance) return Response(serializer.data) PK тут только в get_object фигурирует, а я его переопределил). С уурлами не то. Попробую вьюсет с миксинам замешать сейчас

Максим Василькин
это ctrl. Вот исходника ретрива class RetrieveMod...

Не надо мешать, найди место где паттерн для него делается. Либо ты можешь свой метод просто сделать, а этот замутить

Максим-Василькин Автор вопроса
Yegor 𓃰
Не надо мешать, найди место где паттерн для него д...

не, свой не, но вариант. А паттерн, может быть, в роутере где-то, наверное

Максим Василькин
не, свой не, но вариант. А паттерн, может быть, в ...

Почему не вариант? Тебе 3-4 строчки кода прописать надо

Максим-Василькин Автор вопроса
Yegor 𓃰
да

Я перегружал retrieve и оборачивал его в свой action(detail=False). Ошибка. Зато нашёл, где мапятся во вью урлы и методы - get_urls))). Завтра попробую. Всем спасибо за терпение и отзывчивость! 🤗 @total_ordering @VG_Vladimir

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта