Size: a a a

Django [ru] #STAY HOME

2020 October 15

ПА

Павел 0931282225 Але... in Django [ru] #STAY HOME
D. Ouhh
https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html
вот тут есть про autodiscover_tasks() если что
я по этому и делаю)
источник

DO

D. Ouhh in Django [ru] #STAY HOME
@AIngco
>>> app = App()
>>> app.save()
>>> campaign = Campaign(shop_id=1, app=app, app_type="wheelio")
>>> campaign.save()
>>>

без ошибок
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
D. Ouhh
@AIngco
>>> app = App()
>>> app.save()
>>> campaign = Campaign(shop_id=1, app=app, app_type="wheelio")
>>> campaign.save()
>>>

без ошибок
{"app_type":["\\"[\'wheelio\']\\"
а тут не извлекает из списка. У меня нет мыслей 🤷‍♂️
источник

ИG

Илья Grin in Django [ru] #STAY HOME
Всем привет. Есть кто хорошо знаком с фильтрами джанго и с синтаксисом postgresql ?
Создал более менее несложный запрос из двух таблиц, но как его реализовать фильтрами не пойму. А использовать objects.raw считаю крайностью. Есть кто сможет дать совет? Код sql в 9строчек. Сфоткать могу
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Artem Gubatenko
{"app_type":["\\"[\'wheelio\']\\"
а тут не извлекает из списка. У меня нет мыслей 🤷‍♂️
(Pdb) request.data
<QueryDict: {'app_type': ['wheelio']}>
(Pdb) request.data.get("app_type")
'wheelio'
(Pdb) type(request.data.get("app_type"))
<class 'str'>
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
D. Ouhh
(Pdb) request.data
<QueryDict: {'app_type': ['wheelio']}>
(Pdb) request.data.get("app_type")
'wheelio'
(Pdb) type(request.data.get("app_type"))
<class 'str'>
это ты извлекаешь. Иначе бы не выдало ошибку в сериализаторе
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Artem Gubatenko
это ты извлекаешь. Иначе бы не выдало ошибку в сериализаторе
это из данных в запросе. а в сериализатор попадает лист почему-то
источник

ИG

Илья Grin in Django [ru] #STAY HOME
D. Ouhh
это из данных в запросе. а в сериализатор попадает лист почему-то
Попробуй добавить заголовок в запрос format='json'
источник

DO

D. Ouhh in Django [ru] #STAY HOME
D. Ouhh
    def create(self, request, *args, **kwargs):
       # creating app
       app = App()
       app.save()

       campaign_data = dict(request.data)
       campaign_data["app"] = AppSerializer(app).data
       campaign_data["shop_id"] = request.user.pk

       serializer = self.get_serializer(data=campaign_data)
       serializer.is_valid(raise_exception=True)
       self.perform_create(serializer)
       headers = self.get_success_headers(serializer.data)

       return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)

я вот так вот перезаписал. вроде бы нормально, но ругается на самое непонятное.
'{"app_type":["\\"[\'wheelio\']\\" is not a valid choice."]}'
. wheelio - это валидный choice
campaign_data = dict(request.data) -> campaign_data = request.data.dict()
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Неправильно QueryDict в dict превращал
источник

DO

D. Ouhh in Django [ru] #STAY HOME
но теперь другая проблема:
Write an explicit `.create()` method for serializer `api.serializers.CampaignSerializer`, or set `read_only=True` on nested serializer fields.
источник

DO

D. Ouhh in Django [ru] #STAY HOME
он ругается из-за App как я понимаю. сделать его рид онли я не могу
источник

ИG

Илья Grin in Django [ru] #STAY HOME
Для данного поля укажи в сериализаторе  read_only=true
источник

ИG

Илья Grin in Django [ru] #STAY HOME
Тогда создавай еще сериализатор с иерархией и присваивай его этому полю
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Илья Grin
Тогда создавай еще сериализатор с иерархией и присваивай его этому полю
это как?
источник

ИG

Илья Grin in Django [ru] #STAY HOME
Переопределять методы save в сериализаторе придется
источник

ИG

Илья Grin in Django [ru] #STAY HOME
D. Ouhh
это как?
От чего наследуешь сериализатор?
источник

DO

D. Ouhh in Django [ru] #STAY HOME
Илья Grin
От чего наследуешь сериализатор?
serializers.ModelSerializer
источник

DO

D. Ouhh in Django [ru] #STAY HOME
django.db.utils.IntegrityError: null value in column "app_id" of relation "api_campaign" violates not-null constraint
DETAIL:  Failing row contains (5, f, 30, ongoing, 2020-10-15, 2020-10-15, {}, {}, wheelio, {"popupShow": false, "popupText": "Someone from {{State}} just w..., 0, 0, 0, f, f, null, null).

если поставить app = AppSerializer(read_only=True)
источник

В

Василий in Django [ru] #STAY HOME
Народ, помогите плз. Пытаюсь вывести на одну страницу с формой несколько связанных через FK моделей. Делаю через inlineformset_factory. Отображается на странице не так все как я хотел( Идея такая: на одной странице заполнять информацию из нескольких связанных таблиц и отправлять ее в бд.
источник