Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung von Beispielen für SQLalchemie in js
SQLalchemy hat zwei Rückgabetypen, einen ist ein Modellobjekt und der andere ist eine Abfragesammlung (fragt nur einige Felder ab).
Diese beiden Rückgabeergebnisse stammen beide vom selben Typ sqlalchemy.orm.query.Query
Also führen wir die entsprechende Verarbeitung für Query durch und lassen ein Diktat zurückgeben
class AlchemyJsonEncoder(json.JSONEncoder): def default(self, obj): # 判断是否是Query if isinstance(obj, Query): # 定义一个字典数组 fields = [] # 定义一个字典对象 record = {} # 检索结果集的行记录 for rec in obj.all(): # 检索记录中的成员 for field in [x for x in dir(rec) if # 过滤属性 not x.startswith('_') # 过滤掉方法属性 and hasattr(rec.__getattribute__(x), '__call__') == False # 过滤掉不需要的属性 and x != 'metadata']: data = rec.__getattribute__(field) try: record[field] = data except TypeError: record[field] = None fields.append(record) # 返回字典数组 return fields # 其他类型的数据按照默认的方式序列化成JSON return json.JSONEncoder.default(self, obj)
Auf diese Weise können Sie es einfach bei jeder Serialisierung verwenden
json.dumps(result1, cls=AlchemyJsonEncoder)
Um die JSON-Serialisierung des Ergebnissatzes zu implementieren.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für SQLalchemie in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!