SQLAlchemy ORM - Ajout d'objets

Dans les chapitres précédents de SQLAlchemy ORM, nous avons appris à déclarer le mappage et à créer des sessions. Dans ce chapitre, nous allons apprendre comment ajouter des objets à la table.

Nous avons déclaré la classe Customer qui a été mappée à la table des clients. Nous devons déclarer un objet de cette classe et l'ajouter de manière persistante à la table par la méthode add () de l'objet session.

c1 = Sales(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]')
session.add(c1)

Notez que cette transaction est en attente jusqu'à ce qu'elle soit supprimée à l'aide de la méthode commit ().

session.commit()

Voici le script complet pour ajouter un enregistrement dans la table des clients -

from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
engine = create_engine('sqlite:///sales.db', echo = True)
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

class Customers(Base):
   __tablename__ = 'customers'
   
   id = Column(Integer, primary_key=True)
   name = Column(String)
   address = Column(String)
   email = Column(String)
   
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind = engine)
session = Session()

c1 = Customers(name = 'Ravi Kumar', address = 'Station Road Nanded', email = '[email protected]')

session.add(c1)
session.commit()

Pour ajouter plusieurs enregistrements, nous pouvons utiliser add_all() méthode de la classe de session.

session.add_all([
   Customers(name = 'Komal Pande', address = 'Koti, Hyderabad', email = '[email protected]'), 
   Customers(name = 'Rajender Nath', address = 'Sector 40, Gurgaon', email = '[email protected]'), 
   Customers(name = 'S.M.Krishna', address = 'Budhwar Peth, Pune', email = '[email protected]')]
)

session.commit()

La vue Table de SQLiteStudio montre que les enregistrements sont ajoutés de manière persistante dans la table des clients. L'image suivante montre le résultat -