Я сейчас занимаюсь разработкой приложения, используя Flask + Vue. Я использую flask -sqlalchemy для ORM.
При сохранении json в JSON тип MySQL произошло явление, при котором зарегистрированные данные становятся символьной строкой. Можно ли сохранить в состоянии json?
Пример кода.
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
db = SQLAlchemy()
marsh = Marshmallow()
from database import db, marsh
from sqlalchemy.dialects.mysql import insert
class UserInfo(db.Model):
__tablename__ = 'user_info'
user_id = db.Column(db.String, nullable=False, primary_key=True)
json= db.Column(db.JSON, nullable=True)
def insert_on_duplicate_key_update(user_id, str_json):
json = json.dumps(str_json, ensure_ascii=False)
insert_stmt = insert(UserInfo).values({UserInfo.user_id: user_id
UserInfo.json : json })
print(json)
// print {"item1": false}
on_conflict_stmt = insert_stmt.on_duplicate_key_update(
json=insert_stmt.inserted.json)
db.engine.execute(on_conflict_stmt)
return insert_stmt
class UserInfoSchema(marsh.ModelSchema):
class Meta:
model = UserInfo
fields = ("user_id", "json")
Выбор результата регистрации * из user_info;
"{\ "item1 \": false} "
Я хочу сохранить в следующем состоянии.
{" item1 ": false}
Я японец. Извините за плохой английский sh ....