Size: a a a

Django [ru] #STAY HOME

2019 March 26

А

Артем in Django [ru] #STAY HOME
Ну я подумаю на рефакторингом
источник

А

Алексей in Django [ru] #STAY HOME
есть модель( Отклик), на нее ссылается другая модель по ForeignKey( Комменты в отклике)
я делаю выборку по первой модели и захватываю в сериализаторе ссылающиеся на нее модели
и вот у меня Комменты иногда после фильтрации сериализуются не так, как надо, как задать им сортировку правильную?
источник

А

Артем in Django [ru] #STAY HOME
Сделаю код читабельнее спасибо
источник

D

Dmitriy in Django [ru] #STAY HOME
Артем
Ну я подумаю на рефакторингом
Я к тому, что если сделаешь рефакторинг, то и ошибку быстро найдёшь
источник

А

Артем in Django [ru] #STAY HOME
Понял 😉
источник

PB

Petr B. in Django [ru] #STAY HOME
Алексей
есть модель( Отклик), на нее ссылается другая модель по ForeignKey( Комменты в отклике)
я делаю выборку по первой модели и захватываю в сериализаторе ссылающиеся на нее модели
и вот у меня Комменты иногда после фильтрации сериализуются не так, как надо, как задать им сортировку правильную?
самое простое - Камент.Meta.ordering указать
источник

А

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

Æ

Æ in Django [ru] #STAY HOME
Приветы. А как вручную задать форме ошибки без валидации, чтобы еще в гете?
источник

А

Артем in Django [ru] #STAY HOME
Еще вопрос. Можно ли как то в сериалайзер передать данные из запроса?
источник

PB

Petr B. in Django [ru] #STAY HOME
вообще, если ты пользуешься get_serializer() во вьюхе - у тебя в сериалайзер уже передается контекст (запрос, вьюсет)
источник

PB

Petr B. in Django [ru] #STAY HOME
self.context  в сериалайзере посмотри
источник

А

Артем in Django [ru] #STAY HOME
Ок спасибо
источник

PB

Petr B. in Django [ru] #STAY HOME
Petr B.
вообще, если ты пользуешься get_serializer() во вьюхе - у тебя в сериалайзер уже передается контекст (запрос, вьюсет)
если ты ручками все делаешь, есть get_serializer_context()
источник

А

Артем in Django [ru] #STAY HOME
Да я пытался он не помог
источник

DT

Dan Tyan in Django [ru] #STAY HOME
если руками вызывать сериализатор
то request туда надо передавать так же самому
источник

PB

Petr B. in Django [ru] #STAY HOME
показывай что делал
источник

А

Алексей in Django [ru] #STAY HOME
Petr B.
вообще, если ты пользуешься get_serializer() во вьюхе - у тебя в сериалайзер уже передается контекст (запрос, вьюсет)
в общем, я как сделал, вместо просто сериализации сериалайзером стандартно внутри сериалайзера, сделал сериализацию в get_поле, щас покажу
источник

PB

Petr B. in Django [ru] #STAY HOME
Dan Tyan
если руками вызывать сериализатор
то request туда надо передавать так же самому
необязательно, можно context=self.get_serializer_context() же
источник

А

Алексей in Django [ru] #STAY HOME
я нашел вот пример, смотрите:
class InstructorSerializer(serializers.ModelSerializer):
   courses = serializers.serializers.SerializerMethodField()

   def get_courses(self, obj):
        ordered_queryset = <do your magic here>
        return CourseSerializer(ordered_queryset, many=True, context=self.context).data
источник

А

Алексей in Django [ru] #STAY HOME
в "магии" я тупо сделал запрос и вставил order_by, т.е. задача решена таким образом, думаю, так много хитрых вещей можно сделать
источник