Mam users
tabelę w mojej bazie danych MySql. Ten stół ma id
, name
i age
pola.
Jak mogę usunąć niektóre wpisy id
?
Teraz używam następującego kodu:
user = User.query.get(id)
db.session.delete(user)
db.session.commit()
Ale nie chcę wykonywać żadnego zapytania przed operacją usuwania. Czy jest na to sposób? Wiem, mogę użyć db.engine.execute("delete from users where id=...")
, ale chciałbym użyć delete()
metody.
python
flask
sqlalchemy
flask-sqlalchemy
Siergiej
źródło
źródło
db.session.commit()
do końca. gdzie db:db = SQLAlchemy(app)
delete
nie będą kaskadowe, jeśli polegasz na kaskadowaniu w Pythonie / ORM. Najpierw musisz wysłać zapytanie do obiektu, a następnie usunąć .User
nie istniało?Po prostu chcę udostępnić inną opcję:
http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#deleting
W tym przykładzie następujące kody będą działać dobrze:
źródło
Inne możliwe rozwiązanie, szczególnie jeśli chcesz usunąć zbiorczo
źródło