Size: a a a

Django [ru] #STAY HOME

2020 January 22

НВ

Николай Видов in Django [ru] #STAY HOME
Единственный вариант, которй вижу, валидировать сущности по одной, если прошёл валидацию - создать объект, а после bilk_create запихнуть в базу. Остальное - raise ValidationError
источник

НВ

Николай Видов in Django [ru] #STAY HOME
Но мне кажется это прям костыль-костыль
источник

НВ

Николай Видов in Django [ru] #STAY HOME
Ок, буду костылять
источник

DT

Dan Tyan in Django [ru] #STAY HOME
в validate_data
источник

НВ

Николай Видов in Django [ru] #STAY HOME
?
источник

НВ

Николай Видов in Django [ru] #STAY HOME
for i in serializer.validated_data?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
нет зачем
источник

НВ

Николай Видов in Django [ru] #STAY HOME
А как?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
просто пишешь метод
источник

DT

Dan Tyan in Django [ru] #STAY HOME
он будет для каждого вызываться
источник

НВ

Николай Видов in Django [ru] #STAY HOME
create переопределить и внутри этот цикл сделать? Не понимаю
источник

DT

Dan Tyan in Django [ru] #STAY HOME
по теории надо только один метод validate_FIELD
источник

НВ

Николай Видов in Django [ru] #STAY HOME
А причём тут он? Не понимаю
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Николай Видов
А причём тут он? Не понимаю
status = serializers.IntegerField(min_value=0, max_value=100)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
видишь max_value=100?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ошибка
"status":["Ensure this value is less than or equal to 100."]
источник

НВ

Николай Видов in Django [ru] #STAY HOME
Я понимаю. Вопрос в том - чем мне поможет то, что я перенесу его в метод?
источник

НВ

Николай Видов in Django [ru] #STAY HOME
А если будут другие ошибки?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
теперь твоя задачанама

вместо того чтобы тебе выкидывалось исключение, ты тольжен этот объект пропустить
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Николай Видов
Я понимаю. Вопрос в том - чем мне поможет то, что я перенесу его в метод?
ты изменишь поведение вместо raise
будет что то другое
источник