Просто чтобы было отказано в доступе как сделать?

|
lexinet 2022-07-03 23:23:03
Sanshain_Swa 2022-07-03 23:22:37
Вероятно, у вас этот файл называется views.py

в него смотрю, не пойму где что менять

arttomaz 2022-07-03 23:23:27
lexinet 2022-07-03 23:22:49
да у меня проблема найти файл

В файле где к бд запрос проходит добавьте к запросу фильтр как выше

lexinet 2022-07-03 23:25:22
вроде нигде нет этого запроса, нужно тогда самому написать и положить в отдельную переменную
arttomaz 2022-07-03 23:25:41
lexinet 2022-07-03 23:23:03
в него смотрю, не пойму где что менять

Для примера
current_user = Order.objects.filter(user=request.user)

arttomaz 2022-07-03 23:26:17
Получаете текущего юзера из сессии
arttomaz 2022-07-03 23:27:27
Где Order это ваша модель
arttomaz 2022-07-03 23:27:45
А user поле вашей модели
Stan 2022-07-03 23:28:28
Я конечно все понимаю, но что-то мне подсказывает, что вопрошающий не знает что такое сессии и модели
lexinet 2022-07-03 23:28:42
arttomaz 2022-07-03 23:25:41
Для примера
current_user = Order.objects.filter(user=request.user)

current_user — там только один юзер
я попробовал вот так прописать во views
key_skills = super().skills.filter(is_key_skill=True)

lexinet 2022-07-03 23:28:55
Stan 2022-07-03 23:28:28
Я конечно все понимаю, но что-то мне подсказывает, что вопрошающий не знает что такое сессии и модели

это да, плаваю

Stan 2022-07-03 23:30:13
lexinet 2022-07-03 23:28:55
это да, плаваю

Пока что тонешь)) выплывай скорее

arttomaz 2022-07-03 23:30:43
lexinet 2022-07-03 23:28:42
current_user — там только один юзер
я попробовал вот так прописать во views
key_skills = super().skills.filter(is_key_skill=True)

super не нужен тут

lexinet 2022-07-03 23:32:50
arttomaz 2022-07-03 23:30:43
super не нужен тут

спасибо
вот так получилось
key_skills = Skill.objects.filter(is_key_skill=True)
context[«key_skills»] = key_skills

lexinet 2022-07-03 23:33:47
теперь следующий квест)
мне нужны не все skills, а только те, которые отмечены у юзера me.userprofile.skills.all
т.е. по другому составить
arttomaz 2022-07-03 23:42:09
lexinet 2022-07-03 23:33:47
теперь следующий квест)
мне нужны не все skills, а только те, которые отмечены у юзера me.userprofile.skills.all
т.е. по другому составить

Skill.objects.filter(user=request.user).filter(is_key_skill=True)

lexinet 2022-07-03 23:43:18
arttomaz 2022-07-03 23:42:09
Skill.objects.filter(user=request.user).filter(is_key_skill=True)

user нет в таблице Skill

arttomaz 2022-07-03 23:43:26
Получаете текущего юзера, фильтруете по тем где skill True
lexinet 2022-07-03 23:44:36
lexinet 2022-07-03 23:43:18
user нет в таблице Skill

В UserProfile есть поле skills, множественное типа список, куда подбираются нужные skills
skills = models.ManyToManyField(Skill, blank=True)

Artemka_Ra 2022-07-04 00:23:14
pydjango-739329.jpg
Ребят, подскажите, пожалуйста, почему ругается на Comment.owner?

class CommentOwner(BasePermission):

def has_object_permission(self, request, view, obj):
return request.user.pk == obj.owner.pk

ViktoRec 2022-07-04 00:28:16
Artemka_Ra 2022-07-04 00:23:14
Ребят, подскажите, пожалуйста, почему ругается на Comment.owner?

class CommentOwner(BasePermission):

def has_object_permission(self, request, view, obj):
return request.user.pk == obj.owner.pk

Похоже на то что ты не аторизовался

Artemka_Ra 2022-07-04 00:28:40
а. ок. вопрос больне не в этом. как ошибку 500 убрать?
Artemka_Ra 2022-07-04 00:28:59
это це нехорошо. просто чтобы было отказано в доступе как сделать?
ViktoRec 2022-07-04 00:29:06
Прописать в пермишнах поведение если нет овнера
Artemka_Ra 2022-07-04 00:29:54
так вот я как раз прописал в CommentOwner
Artemka_Ra 2022-07-04 00:30:04
и добавил его в пермишены
ViktoRec 2022-07-04 00:30:37
If obj and obj.owner:
Return ….
Return …
Artemka_Ra 2022-07-04 00:31:52
ViktoRec 2022-07-04 00:30:37
If obj and obj.owner:
Return ….
Return …

не понял сути этого. почему он ругается именно на CommentOwner и как это логически звучит?

ViktoRec 2022-07-04 00:33:18
Я думаю потому что owner нет, он выдает ошибку
ViktoRec 2022-07-04 00:34:06
Скорее всего он его берет из реквеста, авторизованного юзера, а так как ты не авторизован то нет овнера
Artemka_Ra 2022-07-04 00:34:18
окей. а ошибку 500 можно на что-то более красивое заменить. ахаха. просто я точно также делал для поста
Artemka_Ra 2022-07-04 00:34:33
и там елси я не буду авторизован, то он мне выдаст что я не имеб доступа
ViktoRec 2022-07-04 00:35:30
Да, можешь любую поставить, только я не помню как 😃 и текст сам можешь написать
ViktoRec 2022-07-04 00:39:06
Return JsonResponse({‘message’: ‘Resource Not Found’}, 404)
Artemka_Ra 2022-07-04 03:15:37
ребят. а вот елси я знаю только айди поста к примеру. я могу взять его данные из бд каким-то магическим способом?
Artemka_Ra 2022-07-04 03:15:47
DRF
ranwise 2022-07-04 03:18:34
Artemka_Ra 2022-07-04 03:15:37
ребят. а вот елси я знаю только айди поста к примеру. я могу взять его данные из бд каким-то магическим способом?

да, сделать урл который по айди будет возвращать тебе пост…

LUBASKIN_CODE 2022-07-04 04:30:56
Artemka_Ra 2022-07-04 03:15:37
ребят. а вот елси я знаю только айди поста к примеру. я могу взять его данные из бд каким-то магическим способом?

RetrieveAPIView

dantyan 2022-07-04 06:45:54
Artemka_Ra 2022-07-04 03:15:37
ребят. а вот елси я знаю только айди поста к примеру. я могу взять его данные из бд каким-то магическим способом?

а что еще кроме id нужно ?

blckvia 2022-07-04 09:03:49
Добрый день. Нашел как сделать что бы slug автоматически заполнялся при заполнении title class PostAdmin(admin.ModelAdmin):
prepopulated_fields = {‘slug’: (‘title’,)}, но может быть проблема что title у двух историй будет одинаковый и slug тоже заполнится один и тот же, что в свою очередь потребует добавление в slug символов вручную, а возможно ли сделать так что бы при повторе, slug сам добавлял какие либо символы.
Artemka_Ra 2022-07-04 10:40:29
Ребят, скажите, пожалуйста, а где настраивается время жизни токена? jwt_token
githubreleases_bot 2022-07-04 10:57:28
django/django tagged: 4.0.6
Link: https://github.com/django/django/releases/tag/4.0.6
Release notes:
Tag 4.0.6

Release 4.0.6 · django/djangoGitHub
Tag 4.0.6
Micki 2022-07-04 11:04:14
Не получается отправить formset через ajax для отображения в шаблоне
Gosha Barinov 2022-07-04 11:06:20
Micki 2022-07-04 11:04:14
Не получается отправить formset через ajax для отображения в шаблоне

Жалко

jabajke 2022-07-04 11:08:51
какой юнит тест можно написать для проверки .check_object_permissions?
Artemka_Ra 2022-07-04 12:28:11
подскажите, плиз в чём оишбка с типами? спасибо
self.assertEqual(response.data.get(‘count’), 2)
AttributeError: ‘dict’ object has no attribute ‘data’
Nire1 2022-07-04 12:29:37
Artemka_Ra 2022-07-04 12:28:11
подскажите, плиз в чём оишбка с типами? спасибо
self.assertEqual(response.data.get(‘count’), 2)
AttributeError: ‘dict’ object has no attribute ‘data’

В том что response не response

Nire1 2022-07-04 12:30:30
Глянь дебаггером, что лежит в response
arttomaz 2022-07-04 12:35:28
добавляют деапозон адресов VPN в список блокированных на оборудовании cisco/huaweu, и тп
benefixx 2022-07-04 12:49:29
pydjango-739378.jpg
Добрый день, я все никак не могу в celery beat создать функцию которая будет запускаться автоматически каждые 30 секунд в течении 5 минут образно, пробовал такой код с документации. пробовал еще много чего не работает, что я не так делаю?
benefixx 2022-07-04 12:50:47
pydjango-739379.jpg
Redis у меня запущен в докере

Также я подключил FLOWER для отслеживания, и flower видит task

|