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

SQLAlchemy JSON като blob/текст

Можете много лесно да създадете свой собствен тип с SQLAlchemy

За версии на SQLAlchemy>=0.7, вижте отговора на Йогеш по-долу

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 {}

Това може да се използва, когато дефинирате вашите таблици (примерът използва еликсир):

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)

Можете също да използвате различен json сериализатор за 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

  2. mysql заявка:SELECT DISTINCT колона1, GROUP BY колона2

  3. Обратно проектиране на MySQL база данни с помощта на MySQL Workbench

  4. Ruby datetime е подходящ за сравнение на mysql

  5. Може ли една таблица да има два външни ключа?