Size: a a a

2020 October 14

K

Kristina in Python Flask
поняла. а если такой тип уже есть, то где должна быть проверка?
источник

K

Kristina in Python Flask
перед этим всем?
источник

T

Tishka17 in Python Flask
Kristina
поняла. а если такой тип уже есть, то где должна быть проверка?
Оно само сработает по идее
источник

K

Kristina in Python Flask
не-а, если я опять шлю такой же запрос, то шлет в лес
источник

T

Tishka17 in Python Flask
Покажи
источник

K

Kristina in Python Flask
[SQL: INSERT INTO device_type (device_type) VALUES (%(device_type)s)]
[parameters: {'device_type': 'ios'}]
источник

K

Kristina in Python Flask
sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "device_type_pkey"
DETAIL:  Key (device_type)=(ios) already exists.
источник

T

Tishka17 in Python Flask
Покажи ещё раз код и ошибку
источник

K

Kristina in Python Flask
device_type = models.DeviceType(device_type=device.device_type_name)
request_data_dict = device.dict().copy()
request_data_dict.pop("device_type_name")
request_data_dict["device_type"] = device_type
device_in_db = models.Device(**request_data_dict)

db.add(device_in_db)
db.commit()
db.refresh(device_in_db)
источник

T

Tishka17 in Python Flask
Ок, сейчас скажу, возможно релейшн надо поправить
источник

T

Tishka17 in Python Flask
Kristina
device_type = models.DeviceType(device_type=device.device_type_name)
request_data_dict = device.dict().copy()
request_data_dict.pop("device_type_name")
request_data_dict["device_type"] = device_type
device_in_db = models.Device(**request_data_dict)

db.add(device_in_db)
db.commit()
db.refresh(device_in_db)
Попробуй в релейшн поставить cascade="all"
источник

T

Tishka17 in Python Flask
Почитай а целом про cascade
источник

K

Kristina in Python Flask
Tishka17
Попробуй в релейшн поставить cascade="all"
не-а, та же ошибка
источник

K

Kristina in Python Flask
база чистая, с новыми модельками
источник

T

Tishka17 in Python Flask
Поиграйся с каскадом, я не уверен что надо написать
источник

K

Kristina in Python Flask
судя по всему мне нужно save-update, но это включено по-дефолту
источник

K

Kristina in Python Flask
с этим способом, кстати, все работает как нужно
https://gist.github.com/jleclanche/f53ab91184632d717b228ec782d36dd8
источник

T

Tishka17 in Python Flask
Только выглядит жутко
источник

K

Kristina in Python Flask
даж не могу сложить правильный гугловый запрос в этом случае
источник

T

Tishka17 in Python Flask
Попробуй session.merge вместо add
источник