Size: a a a

Django [ru] #STAY HOME

2020 March 15

S

Skoomer in Django [ru] #STAY HOME
источник

S

Skoomer in Django [ru] #STAY HOME
вчера переписал, как говорили переделать на  get_object_or_404 , так куда приятней , но ошибка всеравно падает на строке  chat = get..  а надо  ее ловить тут
источник

S

Skoomer in Django [ru] #STAY HOME
try execpt  срабатывает на  user_id  , только не знаю как для room_id  это сделать , соответственно и про тестировать надо будет  try except
источник

AD

Alex Dem in Django [ru] #STAY HOME
А какое поведение вы желаете реализовать в случае когда объект не был найден?
источник

S

Skoomer in Django [ru] #STAY HOME
Alex Dem
А какое поведение вы желаете реализовать в случае когда объект не был найден?
рейсить ошибку
источник

S

Skoomer in Django [ru] #STAY HOME
просто как мне кажется  - нагружать пермишен так как я это делаю, не очень хорошо , я смотрел примеры у других людей , то они просто проверяют на права доступа  в 3-4 строчки ..а у меня явно не по питоновски написано
источник

S

Skoomer in Django [ru] #STAY HOME
и вот у меня сейчас задание стоит , в сериализаторах рейсить ошибки и написать тест для try except
источник

AD

Alex Dem in Django [ru] #STAY HOME
Skoomer
просто как мне кажется  - нагружать пермишен так как я это делаю, не очень хорошо , я смотрел примеры у других людей , то они просто проверяют на права доступа  в 3-4 строчки ..а у меня явно не по питоновски написано
Я сам многого не знаю, но точно знаю, но пермишены не так определяются, это точно
потом, мне кажется, try get object_or_404 except Validation error - это какая-то порнография, словно вы сами не до конца понимаете какое поведение желаете реализовать
Для валидации полей пишутся в сериалайзере методы

validate_yourFieldName(self, value):
... logic ...
источник

in Django [ru] #STAY HOME
В чем хранить деньги в модели? djmoney или есть другие варианты?
источник

AD

Alex Dem in Django [ru] #STAY HOME
Skoomer
просто как мне кажется  - нагружать пермишен так как я это делаю, не очень хорошо , я смотрел примеры у других людей , то они просто проверяют на права доступа  в 3-4 строчки ..а у меня явно не по питоновски написано
def validate_room_id(self, value):
room = Model.objects.filter(pk=value).first()
if not room:
ValidationError(blabla)

что-то такое должно у вас быть для каждого поля
источник

AD

Alex Dem in Django [ru] #STAY HOME
Skoomer
вчера переписал, как говорили переделать на  get_object_or_404 , так куда приятней , но ошибка всеравно падает на строке  chat = get..  а надо  ее ловить тут
С третьей стороны, у вас model serializer, вопрос - какой смысл вообще переопределять эти вещи?
если у вас правильно написаны модели, все эти валидации и так должны работать
источник

S

Skoomer in Django [ru] #STAY HOME
Alex Dem
С третьей стороны, у вас model serializer, вопрос - какой смысл вообще переопределять эти вещи?
если у вас правильно написаны модели, все эти валидации и так должны работать
ментор такие задания дает ..
источник

S

Skoomer in Django [ru] #STAY HOME
наверно попробую написать валидации в сериализаторе  и простые проверки на права доступа в пермишене
источник

AD

Alex Dem in Django [ru] #STAY HOME
Skoomer
наверно попробую написать валидации в сериализаторе  и простые проверки на права доступа в пермишене
опять же, я сам полу-нуб, но мне кажется вам надо:

1) Почитать про пермишены. В вашем has_permission есть логика вьюхи, это неправильно. Неправильно писать пермишены во вьюхе. и т.д.
2) Почитать про get_object_or_404
3) Почитать про валидацию в сериалайзере
( и про кастомизацию, и про механизмы работающие "из коробки" )
4) Понять какой результат вы хотите получить в конечном счете (мне показалось, что вы сами не совсем понимаете какого именно поведения сервера ожидаете)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Skoomer
наверно попробую написать валидации в сериализаторе  и простые проверки на права доступа в пермишене
Не стоит создавать костылей. Есть django-guardian, используйте object-level permissions
источник

AI

Anton Igin in Django [ru] #STAY HOME
Skoomer
вчера переписал, как говорили переделать на  get_object_or_404 , так куда приятней , но ошибка всеравно падает на строке  chat = get..  а надо  ее ловить тут
PrimaryKeyRelatedField юзай, там в поле будет вшита проверка, что вообще есть объект с таким id
источник

AI

Anton Igin in Django [ru] #STAY HOME
Правда, если надо проверить доступ юзера к объекту, это придется отдельно писать
источник

S

Skoomer in Django [ru] #STAY HOME
окей ,спасибо
источник

♚Inojelis in Django [ru] #STAY HOME
Помогите плиз. Как мне использовать django channels без редиса?
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
♚Inojelis
Помогите плиз. Как мне использовать django channels без редиса?
Так же, как и с редисом
источник