Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQLAlchemy JSON jako obiekt blob/text

Możesz bardzo łatwo utworzyć własny typ z SQLAlchemy

W przypadku wersji SQLAlchemy>=0.7 zapoznaj się z odpowiedzią Yogesha poniżej

import jsonpickle
import sqlalchemy.types as types

class JsonType(types.MutableType, types.TypeDecorator):    
    impl = types.Unicode

    def process_bind_param(self, value, engine):
        return unicode(jsonpickle.encode(value))

    def process_result_value(self, value, engine):
        if value:
            return jsonpickle.decode(value)
        else:
            # default can also be a list
            return {}

Może to być użyte podczas definiowania tabel (przykład używa eliksiru):

from elixir import *
class MyTable(Entity):
    using_options(tablename='my_table')
    foo = Field(String, primary_key=True)
    content = Field(JsonType())
    active = Field(Boolean, default=True)

Możesz także użyć innego serializatora json do jsonpickle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_query zwraca tylko typ łańcucha dla typu int/fload db

  2. MySQL - Błąd zduplikowanego wpisu podczas próby dodania nowej kolumny

  3. ReplicationManager zgłosił wyjątek przy otwieraniu połączenia

  4. Nieprawidłowa wartość całkowita:„” dla kolumny „id” w wierszu 1

  5. Wyjątek hibernacji w zapytaniu łączenia krzyżowego MySQL