Python 3.x flask_restful字段的自定义日期格式

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

我使用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”

下面是一些可能有帮助的代码片段

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
}

请简单地将问题标记为重复问题。我找不到如何做。我想我没有足够的名声去打旗子,这能回答你的问题吗?