J'ai une users
table dans ma base de données MySql. Ce tableau a id
, name
et les age
champs.
Comment puis-je supprimer un enregistrement par id
?
Maintenant, j'utilise le code suivant:
user = User.query.get(id)
db.session.delete(user)
db.session.commit()
Mais je ne veux faire aucune requête avant l'opération de suppression. Y a-t-il un moyen de faire ça? Je sais, je peux utiliser db.engine.execute("delete from users where id=...")
, mais je voudrais utiliser la delete()
méthode.
db.session.commit()
à la fin. où le db:db = SQLAlchemy(app)
delete
cela ne sera pas en cascade si vous comptez sur la cascade en python / ORM. Vous devrez d'abord interroger l'objet, puis supprimer .User
n'existait pas?Je veux juste partager une autre option:
http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#deleting
Dans cet exemple, les codes suivants fonctionnent correctement:
la source
Une autre solution possible spécialement si vous souhaitez une suppression par lots
la source