Size: a a a

Django [ru] #STAY HOME

2019 November 14

R

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

R

RickHentai in Django [ru] #STAY HOME
чет не то, кидаю токен,а мне пишет, что пользователь анонимный(
источник

R

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

R

RickHentai in Django [ru] #STAY HOME
я ебл*н, всё понятно)
источник

Aa

Alph alpH in Django [ru] #STAY HOME
Pavel Zagrebelin
док-цию читал?
def create(self, validated_data):
       if self.validated_data['project_owner']:
           return Project.objects.create(**validated_data)
пытаюсь реализовать проверку - пришли ли нужные поля в запросе - например в запросе могут не придти поля для создания проекта в базе, по задумки не у каждого участника будет свой проект , как указать что если одно из полей пустое, то ничего в базу не записывать?
источник

Aa

Alph alpH in Django [ru] #STAY HOME
сейчас данные строки выкидывают ошибку
источник

Aa

Alph alpH in Django [ru] #STAY HOME
Exception Value:   

'project_owner'
источник

AH

Anthony Hopkins in Django [ru] #STAY HOME
Alph alpH
def create(self, validated_data):
       if self.validated_data['project_owner']:
           return Project.objects.create(**validated_data)
пытаюсь реализовать проверку - пришли ли нужные поля в запросе - например в запросе могут не придти поля для создания проекта в базе, по задумки не у каждого участника будет свой проект , как указать что если одно из полей пустое, то ничего в базу не записывать?
self.validated_data.get("project owner", "")  тебе такое нужно
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Alph alpH
def create(self, validated_data):
       if self.validated_data['project_owner']:
           return Project.objects.create(**validated_data)
пытаюсь реализовать проверку - пришли ли нужные поля в запросе - например в запросе могут не придти поля для создания проекта в базе, по задумки не у каждого участника будет свой проект , как указать что если одно из полей пустое, то ничего в базу не записывать?
ничего не понял, но if 'project_owner' in validated_data проведёт проверку на существаование ключа без падения
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Alph alpH
def create(self, validated_data):
       if self.validated_data['project_owner']:
           return Project.objects.create(**validated_data)
пытаюсь реализовать проверку - пришли ли нужные поля в запросе - например в запросе могут не придти поля для создания проекта в базе, по задумки не у каждого участника будет свой проект , как указать что если одно из полей пустое, то ничего в базу не записывать?
и почему self.validated_data?
источник

Aa

Alph alpH in Django [ru] #STAY HOME
Pavel Zagrebelin
и почему self.validated_data?
не придумал ничего лучше, мне нужно что бы если в запросе нет к примеру project_owner или project_title, то не выкидывать исключение, а просто не пытаться записывать в модель Project несуществующие данные
источник

Aa

Alph alpH in Django [ru] #STAY HOME
Pavel Zagrebelin
и почему self.validated_data?
вот пример запроса - в нем создаются 2 пользователя
[
   {
       "user_fio": "Яшин Василий Васильевич",
       "user_role": "member",
       "project_owner": "Яшин Василий Васильевич",
       "project_title": "Тест проект",
       "project_description": "Описание проекта",
       "project_date": "2019-11-14T09:18:51Z"
   },
   {
       "user_fio": "счшин Василий Васильевич",
       "user_role": "expert"
   }
]
сейчас сериализатор пытается записать в базу поля, которые не пришли в запросе, и база выдает исключение Not null constraint
источник

Aa

Alph alpH in Django [ru] #STAY HOME
мне нужно что бы если эти поля не пришли, он не пытался записать их в базу
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Alph alpH
не придумал ничего лучше, мне нужно что бы если в запросе нет к примеру project_owner или project_title, то не выкидывать исключение, а просто не пытаться записывать в модель Project несуществующие данные
если тебе нужно, чтоб какие-то поля были обязательны, то в сериализаторе надо пропистаь, что они обязательны
источник

PZ

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

Aa

Alph alpH in Django [ru] #STAY HOME
Pavel Zagrebelin
если тебе нужно, чтоб какие-то поля были обязательны, то в сериализаторе надо пропистаь, что они обязательны
я сделал наоборот на полях , которые относятся к проекту, а не к пользователю required = False
источник

Aa

Alph alpH in Django [ru] #STAY HOME
что бы не присылал в ответе на запрос, что эти поля обязательны
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
то есть ты хочешь с одного jsonа накормить и процесс создания юзера, и процесс создания проекта?
источник

Aa

Alph alpH in Django [ru] #STAY HOME
Pavel Zagrebelin
то есть ты хочешь с одного jsonа накормить и процесс создания юзера, и процесс создания проекта?
да
источник

Aa

Alph alpH in Django [ru] #STAY HOME
я сам не рад лапше, но такие требования)
источник