Sie eine SQL-Funktion mit dem Attribut zuweisen können:
from sqlalchemy import func
object.data = func.compress(mydata)
session.add(object)
session.commit()
Hier ist ein Beispiel eine DB-agnostisch niedriger() Funktion:
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
Base= declarative_base()
class A(Base):
__tablename__ = "a"
id = Column(Integer, primary_key=True)
data = Column(String)
e = create_engine('sqlite://', echo=True)
Base.metadata.create_all(e)
s = Session(e)
a1 = A()
a1.data = func.lower("SomeData")
s.add(a1)
s.commit()
assert a1.data == "somedata"
können Sie es mit @validates automatisieren :
Wenn Sie möchten, dass es in Python vor dem Flush lesbar ist, müssen Sie es lokal notieren und verwenden Sie einen Deskriptor, um darauf zuzugreifen.
'Objekt = Objekt()' scheint mir keine gute Idee. Sie überschreiben den Typnamen 'Objekt' ... – glglgl
ich habe es geändert. Vielen Dank –