Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 12, 2016 23:19:08

PavelIvanov
Зарегистрирован: 2015-09-21
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLalchemy и как с ней жить

Что я хочу:

 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()

Тонкий момент, чтобы алхимия улавливала изменения, а не сначала терла все записи, потом заново добавляла

Отредактировано PavelIvanov (Сен. 12, 2016 23:20:44)

Офлайн

#2 Сен. 13, 2016 00:20:33

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

SQLalchemy и как с ней жить

Что значит “улавливала изменения”?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version