Я использую колбовую SQLAlchemy и есть модель со следующей колонки:Почему SQLAlchemy инициализирует поле hstore как null?
class Item(Model):
misc = Column(MutableDict.as_mutable(postgresql.HSTORE), nullable=False,
server_default='',
default=MutableDict.as_mutable(postgresql.HSTORE))
При попытке назначить поля к объекту модели, то кажется, что misc
столбец не является None, а не пустой Dict:
my_item = Item()
my_item.misc["foo"] = "bar"
# TypeError: 'NoneType' object does not support item assignment
Как настроить модель так, чтобы новые объекты инициализировались пустым словарем?
Это то, что сработало для меня: 'misc = db.Column (MutableDict.as_mutable (HSTORE), nullable = False, server_default = db.text (" '' "))). Таким образом, я получаю 'DEFAULT '' :: hstore' в столбце' misc' в postgres, что приводит к пустым 'dict' по умолчанию в python. – robkorv