Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql Compress() с sqlalchemy

можете да присвоите SQL функция на атрибута:

from sqlalchemy import func
object.data = func.compress(mydata)
session.add(object)
session.commit()

Ето пример за използване на по-независима от DB функция low():

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"

можете да го направите автоматично с @validates:

from sqlalchemy.orm import validates
class MyClass(Base):
    # ...
    data = Column(BLOB)

    @validates("data")
    def _set_data(self, key, value):
        return func.compress(value)

ако искате да се чете в python преди флъш, ще трябва да го запаметите локално и да използвате дескриптор за достъп до него.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се създаде таблица (errno:150) на FOREIGN KEY

  2. Използване на часови зони в уеб приложение на PHP

  3. Разлика между ключ, първичен ключ, уникален ключ и индекс в MySQL

  4. .NET Core 2.0 с MySQL:Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 3072 байта

  5. sql се присъединява като диаграма на Venn