Бекенд на Django, Урок 6: Permissions

preview_player
Показать описание
00:00 Зачем нужно делать права на объекты в приложении.
1:17 Как устроены Permission в Django REST Framework
2:21 Owner в Django Models
3:33 on_delete - что выбрать? SET_NULL , CASCADE ?
5:16 Назначаем owner в модель в create во View
10:41 Permission - только владелец может изменять объект
15:23 Негативный тест
19:00 Staff or Owner Permission
22:50 Заключение
Рекомендации по теме
Комментарии
Автор

спасибо за видео, это на данный момент лучшая и наиболее наглядная демонстрация работы с джанго и дрф, просто в 100 раз лучше, чем все остальное, что я нашёл в интернете (en сегмент тоже). Звук + видео + объяснение на высочайшем уровне. Про написание тестов практически нигде нет вменяемой инфы (или я не нашёл), да и не только про это, в общем видео супер.

hunterxvovik
Автор

Спасибо большое бро процветанию твоему каналу ✊💯.Ждём новых видосов 🚀🔥

nouchance
Автор

часть с тестами ультра балдёжная, обычно в подобных видео-манах тестируют ручками в терминале, за это РЭАЛЬНЫЙ РЭСПЭКТ

dimondimarikdmitry
Автор

интересно почему нет комментариев по поводу test_serializers. Судя по тестам в видео все ок, странно... у меня начал ругаться после смены политики (первый тест (прогонка всех тестов разом) выдал ошибку). Показывало что не совпадают строки, вывел их принтом и увидел что проблема таки с юзером. Решение такое:
1. перед созданием книг создать юзеров
2. в expectef_data добавить
"owner": book_1.owner.id #именно айди, потому что модель книги привязывает id пользователя(владельца)

progmain
Автор

Привет, на 7:45 примерно ты присваиваешь owner-y пользователя из реквеста через validated_data, а если сделать это в одну строчку?

denisdenia
Автор

у меня почему-то в тестах не присваиеватся owner, но при curl запросе всё работает как надо. может у кого-то была похожая проблема, помогите

qwerty-sthh
Автор

has_permission нужно переопределять для post запроса? ведь has_object_permission имеет obj и условия с ней( а в post там не будет id и соответственно obj)

khadzhik-_-
Автор

В VSCode с Python вместо "Refactor..." (No refactorings available) нужно использовать "Rename Symbol <F2>"

romanm.
Автор

Как можно посмотреть и не лайкнуть годноту ?!

boomrail
Автор

Подскажите пожалуйста, что-то еще для изучения. Чтобы развиваться как бекенд разработчик на пайтоне.

yawneed
Автор

А как делать Permission для своих моделей пользователей. Например мне нужен админ, менеджер и обычный юзер. Как например менеджеру присвоить свойство Staff?

yawneed
Автор

Пишу комментарий чтобы по быстрей вышли новые ролики))

dizzivoneverec
Автор

Попробовал поделать разные запросы в Postman и обнаружил, что могу с помощью запроса передать владение книгой другому пользователю. Не уверен, может быть это уместно в рамках этого проекта, но я параллельно делаю свой проект. И в моем проекте это было бы не уместно, вот и хотел уточнить, будет-ли упомянуто о моей находке в данном курсе. То есть, как ограничить изменение определенных параметров объекта ? Или мне искать решение данной проблемы в других источниках ? И отдельно хотел бы еще раз поблагодарить за отличный курс.

AlexeyShilyaev
Автор

Почему следующие видео с ограниченным доступом?
Будет ли возможность их посмотреть в будущем?

vitproff
Автор

день добрый, обязательно ли писать request.method in SAFE_METHODS и для чего, решил посмотреть что будет если убрать эту строчку и ничего не поменялось

НикитаЗарецкий
Автор

здравствуйте, не подскажите - а как в приложении можно сериализовать данные вручную(я имею введу, что у меня нет базы данных, простое приложение, которое работает с данными в реальном времени и база данных в нём просто напросто не нужна), но столкнулся с тем, что не знаю как сериалзовать и десириализовать данные. Пробовал при помощи json.load но десириализация проходит(не знаю почему) не корректно. Пробовал при помощи django.cors.serializers, как вы догадались и это у меня не вышло. В общем если дадите совет, буду весьма признателен.

mrsanchez
Автор

Подскажите а можно авторизоваться в тесте по токену? Использую djoser и simplejwt. Ни то ни другое не работает из тестов почему то. Отправляю из postman запросы все хорошо. А из тестов не работает. Можете что то подсказать? Заранее спасибо)

СергейХохлов-юд
Автор

Здравствуйте, вы занимаетесь менторством ?

МагомедИбрагимов-съ
Автор

И опять я на канале хорошего человека Задали мне задание сделать пермишены на каждое поле модели

Developer_python_
Автор

мне всё-таки пришлось переписать метод .create(), a perform_create(). В видео использовалась модель Книги, где автор мог быть обнулён в дб, т.е. валидатор serializer-a смотрел на отсутствие автора сковозь пальцы. В моей модели поле юзера не может быть нулевым, поэтому валидаторы не пропускали меня к perform_create () и стояли как пуговицы насмерть.
А есть варианты лучше? я пробовала подобрать что-то по сценарию форм, где бы вписывались initials + вписать в context или манипуляции CurrentUserDefault в serializer-e., но с переменным успехом. Спасибо заранее.

dodokwak