Size: a a a

2020 January 14

V

Vlad in Python Flask
Да, но для пользователя нужно явно указать, что данные уже существуют, либо он указал несуществующий FK
источник

V

Vlad in Python Flask
Ну ладно, буду думать
источник

T

Tishka17 in Python Flask
Vlad
@vlade11115 а можешь ещё прояснить момент про исключения,
например под IntegrityError попадают многие исключения как "Уникальность" так и "несуществующий FK"

как правильно можно разделить эти ситуации? А то сейчас выходит общая куча

       try:

           db.session.add(dog)

           # Сохраняем изменения
           db.session.commit()
       except IntegrityError as e:
           return bad_request('Данные уже добавлены.')
Никак. Это одно исключение с точки зрения dbapi. Подробности идут текстом, который отличается от базы к базе
источник

V

Vlad in Python Flask
я понимаю)
источник

T

Tishka17 in Python Flask
Vlad
Да, но для пользователя нужно явно указать, что данные уже существуют, либо он указал несуществующий FK
делай предварительную проверку
источник

T

Tishka17 in Python Flask
а IntegrityError оставь на случай конкурирующих транзакиций. В этом случае юезр повторит действие и увидит ошибку.
источник

T

Tishka17 in Python Flask
Либо наоборот при появлении ошибки делай нужные селекты и проверяй
источник

V

Vlad in Python Flask
Во всех случаях появляются новые запросы для уточнения, когда можно было просто по исключению понять, что происходит :(
источник

T

Tishka17 in Python Flask
ну тогда парсить текст
источник

T

Thorn in Python Flask
источник

T

Thorn in Python Flask
при создании схемы указывать имена констрейнам, потом смотреть, какой из них был нарушен
источник

T

Thorn in Python Flask
(не знаю, можно ли так с mysql)
источник

V

Vlad in Python Flask
В тот раз игрался с этим, но не нашел как их вызвать в исключении, спасибо, попробую
источник

T

Thorn in Python Flask
а, ну e.orig в данном случае — это psycopg2.IntegrityError, как я понял
источник

IP

Ivan Panshin in Python Flask
Подскажите, какой канонический способ использования глобальных переменных в Flask? При условии, что в данном случае под глобальной переменной я имею в виду довольно тяжелую нейронку. Хочу чтобы она одним запросом грузилась один раз и затем в последствии я мог ее использовать с другими запросами, не загружая заново. Опять-таки, если она тяжелая и все в этом духе, Session — правильный способ использования?
источник

АР

Александр Ремизов in Python Flask
Ivan Panshin
Подскажите, какой канонический способ использования глобальных переменных в Flask? При условии, что в данном случае под глобальной переменной я имею в виду довольно тяжелую нейронку. Хочу чтобы она одним запросом грузилась один раз и затем в последствии я мог ее использовать с другими запросами, не загружая заново. Опять-таки, если она тяжелая и все в этом духе, Session — правильный способ использования?
Не надо это тебе
источник

IP

Ivan Panshin in Python Flask
Так, окей, а как надо?)
источник

АР

Александр Ремизов in Python Flask
Зависит от задачи.
источник

АР

Александр Ремизов in Python Flask
Твою задачу я не особо понял
источник

IP

Ivan Panshin in Python Flask
Есть команда, которая загружает нейронку и сохраняет ее в некоторой переменной, чтобы можно было потом ее использовать. Хочу чтобы, условно, одним post-запросом она непосредственно загружалась, а затем была доступна для последующих запросов
источник