【问题标题】:Json the records and saving it to the fileJson记录并将其保存到文件中
【发布时间】:2014-01-31 03:29:42
【问题描述】:

我有一个小应用程序,它从数据库中查询记录,需要将其转换为JSON,并且必须将其存储在本地文件中。

我已经走到这一步了:

models.py

from flask.ext.sqlalchemy import SQLAlchemy
from app import app

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://ajay:12345@localhost/fusion'
db = SQLAlchemy(app)

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.DateTime, default=None, index=True)

views.py

from models import User
from flask import render_template
from app import app
from json import dumps
from sqlalchemy.orm import class_mapper

def serialize(model):
    columns = [c.key for c in class_mapper(model.__class__).columns]
    return dict((c, getattr(model, c)) for c in columns)

@app.route('/')
def index():
    data = [ serialize(user) for user in User.query.all() ]
    file = open('data.json','w')
    json_users = dumps(data)
    file.write(json_users)
    file.close()
    return render_template('index.html', users=json_users)

我得到的错误是:

TypeError: datetime.datetime(2011, 10, 16, 15, 14, 57) is not JSON serializable

下一步怎么做?

【问题讨论】:

标签: python json


【解决方案1】:

您必须将 timeUser 类转换为字符串

编辑:

我有根据的猜测

time = db.Column(db.DateTime, default=None, index=True).ctime()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-11
    • 2022-01-16
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多