Python 3.x flask_restful字段的自定义日期格式
我使用flask_restful的字段和marshal_对API输出数据进行序列化。但我的约会方式有问题 我将日期存储为SQLAlchemy DateTime类型,例如,我的日期在数据库中存储为2020-01-01 00:00:00.000000 我希望将日期序列化为yyyy mm dd格式,例如2020-01-01,但当我使用fields.DateTime(dt_format='iso8601')时,我从flask_restful获得的序列化输出为“date”:“2020-01-01T00:00:00” 下面是一些可能有帮助的代码片段Python 3.x flask_restful字段的自定义日期格式,python-3.x,datetime,flask,flask-sqlalchemy,flask-restful,Python 3.x,Datetime,Flask,Flask Sqlalchemy,Flask Restful,我使用flask_restful的字段和marshal_对API输出数据进行序列化。但我的约会方式有问题 我将日期存储为SQLAlchemy DateTime类型,例如,我的日期在数据库中存储为2020-01-01 00:00:00.000000 我希望将日期序列化为yyyy mm dd格式,例如2020-01-01,但当我使用fields.DateTime(dt_format='iso8601')时,我从flask_restful获得的序列化输出为“date”:“2020-01-01T00:0
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.DateTime)
resource_fields = {
'id': fields.Integer,
'date': fields.DateTime(dt_format='iso8601')
class ProductList(Resource):
@marshal_with(resource_fields)
def get(self):
data = Product.query.all()
return data, 200
api.add_resource(ProductList, "/home")
序列化输出
[
{
"id": 1,
"date": "2020-01-01T00:00:00"
}
}
如何在flask_restful中为我的日期创建自定义序列化程序,以将其格式化为yyyy mm dd,而不包含时间?或者至少删除T00:00:00,并将日期显示为2020-01-01
谢谢我遇到了同样的问题,在现有问题中找到了答案: 这段代码对我来说非常有用:
from flask_restful import fields
class MyDateFormat(fields.Raw):
def format(self, value):
return value.strftime('%Y-%m-%d')
resource_fields = {
'id': fields.Integer,
'date': MyDateFormat
}
请简单地将问题标记为重复问题。我找不到如何做。我想我没有足够的名声去打旗子,这能回答你的问题吗?