python - 在 SqlAlchemy 模型中存储字典
问题描述
我有一个名为 user 的 sqlalchemy 模型:
class User (db.Model):
id = id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable = False)
def __init__ (self, name):
self.name = name
我想在这个模型(类)中有一个字典属性。
我能做这样的事情吗:
class User (db.Model):
id = id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable = False)
messages = {} # a dictionary which maps each category to a list of msgs
def __init__ (self, name):
self.name = name
def append_msg (msg, category):
self.messages[category].append (msg)
实现这种结构的最佳方法是什么?这本字典是永久的还是在内存中是临时的?
解决方案
sqlalchemy 有 JSON。
from sqlalchemy import JSON
class User (db.Model):
id = id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable = False)
messages = db.Column(JSON) #or may be db.Column(db.JSON)
它会在您的数据库中。
推荐阅读
- python - 'dict' object has no attribute 'append'
- magento2.2 - 如何在图像调整大小时避免 SSL?
- java - Smartcard verify pin apdu command problem in android
- java - SMS 集成在 Android 中是如何工作的?
- php - 寻找在jQuery中用多边形注释图像的解决方案
- javascript - 使用没有'split'功能的JS在单词上分割句子
- javafx - 为什么 CheckBoxTableCell 的 setSelectedStateCallback 的 lambda 等效项无法在 JavaFX8 中编译?
- java - 错误:尝试在空对象引用上调用虚拟方法“void android.widget.Filter.filter(java.lang.CharSequence)”
- algorithm - 找到最高塔的最小可能高度
- javascript - 在同一域但不同子域的多个 javascript 应用程序之间共享 Localstorage 令牌