Size: a a a

Django [ru] #STAY HOME

2020 February 04

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
а ты вообще импортнул reverse?
Походу нет, но он-то до сих пор думает, что проблема в темплейте...
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Jack
Убрал все ссылки которые не понимает cart теперь он я так понимаю он просит нормальный reverse для своего же отображения, но там вроде ошибок нет, господи, что за дичь ?
Кстати, посмотри, там в твоем скриншоте есть кнопка "Traceback: switch to copy-and-paste view". Ее специально придумали чтоб можно было трейсбек красиво шарить. Скриншоты неудобны и это указано в правилах чата
источник

J

Jack in Django [ru] #STAY HOME
Rust Saiargaliev
Кстати, посмотри, там в твоем скриншоте есть кнопка "Traceback: switch to copy-and-paste view". Ее специально придумали чтоб можно было трейсбек красиво шарить. Скриншоты неудобны и это указано в правилах чата
Понял спасибо, буду так кидать
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Rust Saiargaliev
Кстати, посмотри, там в твоем скриншоте есть кнопка "Traceback: switch to copy-and-paste view". Ее специально придумали чтоб можно было трейсбек красиво шарить. Скриншоты неудобны и это указано в правилах чата
давно добавили?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Anton Fircak
давно добавили?
Очень давно. :) Просто люди не любят читать
источник

AG

Anton Guzun in Django [ru] #STAY HOME
Подскажите пожалуйста как в drf красиво замапить поля в сериализаторе
Есть такой json приходящий через апи:
{
   "ModelId": 12,
   "CurrentStatus": "OPEN",
}


Хочу его задесериализовать, чтобы "ModelId" падало в поле модели "model_id", a "CurrentStatus" в "current_status".

Везде пишут пихнуть имена жсона в source, но они корректно работают только в случае сериализации из модели в жсон

сериализатор выглядит типа
class MyModelSerializer(ModelSerializer):

   class Meta:
       model = ModelName
       fields = "__all__"
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Anton Guzun
Подскажите пожалуйста как в drf красиво замапить поля в сериализаторе
Есть такой json приходящий через апи:
{
   "ModelId": 12,
   "CurrentStatus": "OPEN",
}


Хочу его задесериализовать, чтобы "ModelId" падало в поле модели "model_id", a "CurrentStatus" в "current_status".

Везде пишут пихнуть имена жсона в source, но они корректно работают только в случае сериализации из модели в жсон

сериализатор выглядит типа
class MyModelSerializer(ModelSerializer):

   class Meta:
       model = ModelName
       fields = "__all__"
есть два варианта
попробовать https://github.com/vbabiy/djangorestframework-camel-case

второй

описать в сериализаторе поля в ручную
class MyModelSerializer(ModelSerializer):
   CurrentStatus = serializers.SomeField(source='carrent_status')
источник

AG

Anton Guzun in Django [ru] #STAY HOME
Dan Tyan
есть два варианта
попробовать https://github.com/vbabiy/djangorestframework-camel-case

второй

описать в сериализаторе поля в ручную
class MyModelSerializer(ModelSerializer):
   CurrentStatus = serializers.SomeField(source='carrent_status')
второй не получался. Все как-то через одно место.
источник

T

Tim in Django [ru] #STAY HOME
Anton Guzun
второй не получался. Все как-то через одно место.
Пользуюсь этой либой , норм
источник

AG

Anton Guzun in Django [ru] #STAY HOME
Tim
Пользуюсь этой либой , норм
Спасибо, попробую
источник

AG

Anton Guzun in Django [ru] #STAY HOME
Tim
Пользуюсь этой либой , норм
Получается, что в этом случае названия полей модели привязаны к названиям полей в жсон. Не очень гибко
источник

T

Tim in Django [ru] #STAY HOME
Anton Guzun
Получается, что в этом случае названия полей модели привязаны к названиям полей в жсон. Не очень гибко
не совсем понял
ты просто пишешь обычный свой код в стиле питона, например, так model_field
либа (парсер) сама преобразует его в modelField и обратно в model_field
источник

AG

Anton Guzun in Django [ru] #STAY HOME
Tim
не совсем понял
ты просто пишешь обычный свой код в стиле питона, например, так model_field
либа (парсер) сама преобразует его в modelField и обратно в model_field
имел ввиду, что если мне нужно назвать поле модели very_nice_model_field, а в жсон "ModelField", то инструмент не подходит
источник

T

Tim in Django [ru] #STAY HOME
ты хочешь на чтение переименовать поле?
источник

AG

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

AG

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

T

Tim in Django [ru] #STAY HOME
на чтение подойдет serializers.SerializerMethodField()
или serializers.CharField(source='very_nice_model_field')

на запись скорее всего самому метод create писать
источник

AG

Anton Guzun in Django [ru] #STAY HOME
да, поля в validated_data не будут соответствовать модели
источник

MI

Marat Idrísov in Django [ru] #STAY HOME
как тестить save_model в админке?
источник

RN

Roman Nedobytko in Django [ru] #STAY HOME
Всем привет, подскажите сечас хочу настроить swagger для api, для view permission_class определен  DjangoModelPermission и свагер не отображает енд поинты как бить с этим?)
По деолту проверяю что юзер аутифицирован
источник