Найти - Пользователи
Полная версия: SQLalchemy и как с ней жить
Начало » Базы данных » SQLalchemy и как с ней жить
1
PavelIvanov
Что я хочу:
 class Obj(Base):
    __tablename__ = "pref_object"
    
    id = Column(Integer, primary_key=True)
    caption = Column(String)
    
class Photo(Base):
    __tablename__ = "pref_object_photos"
    
    obj_id = Column(Integer, ForeignKey("pref_object.id"), primary_key=True)
    filename = Column(String, primary_key=True)
    
    obj = relationship(Obj, backref="images")
    
    def __init__(filename: str):
        self.filename = filename
    
obj = Obj()
db_session.add(obj)
object.images = [Photo("1.jpg"), Photo("2.jpg"), Photo("3.jpg")] # Добавил 3 даписи в таблицу pref_object_photos
db_session.commit()
object.images = [Photo("2.jpg"), Photo("3.jpg"), Photo("4.jpg")] # Одну удалил, одну добавил
db_session.commit()

Тонкий момент, чтобы алхимия улавливала изменения, а не сначала терла все записи, потом заново добавляла
4kpt_IV
Что значит “улавливала изменения”?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB