Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当值为DateTime时,DateTime上的Flask棉花糖验证失败_Python_Sqlalchemy_Marshmallow - Fatal编程技术网

Python 当值为DateTime时,DateTime上的Flask棉花糖验证失败

Python 当值为DateTime时,DateTime上的Flask棉花糖验证失败,python,sqlalchemy,marshmallow,Python,Sqlalchemy,Marshmallow,我有以下数据: data={ 'last_visit':datetime.datetime(2020, 9, 30, 11, 12, 24, 512347) } 模式基于以下模型: class ModelSchema(db_schema.SQLAlchemyAutoSchema): class Meta: model = UserModel 模型本身: class UserModel(db.Model, AllFeaturesMixin): last

我有以下数据:

data={
     'last_visit':datetime.datetime(2020, 9, 30, 11, 12, 24, 512347)
}
模式基于以下模型:

class ModelSchema(db_schema.SQLAlchemyAutoSchema):
    class Meta:
        model = UserModel
模型本身:

class UserModel(db.Model, AllFeaturesMixin):
    last_visit= db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
进行验证时,我有一个错误:

> schema.validate(self.data)
> {'last_visit': ['Not a valid datetime.']}
不确定原因。

validate()
应在
flask.request.get_json()
或等效文件的原始数据上调用。您要查找的是类似于
json.loads()
的反序列化的原始结果。对于这个原始字典,
last_visit
仍然是一个字符串,并且是所期望的(格式化的日期时间字符串)

以下是一个基本示例:

导入日期时间
导入json
进口烧瓶
进口棉花糖
从日期时间导入时区
app=烧瓶。烧瓶(\uuuuu名称\uuuuuuu)
默认_头={“内容类型”:“应用程序/json”}
类ModelSchema(ma.Schema):
上次访问=ma.fields.DateTime()
@app.route(“/last_visit”,methods=[“POST”])
def get_last_visit():
schema=ModelSchema()
data=flask.request.get_json()
errors=schema.validate(数据)
如果出现错误:
返回错误,400,默认\u头
上次访问\u data=schema.load(数据)
上次访问数据[“上次访问”]=datetime.datetime.now(tz=timezone.utc)
上次访问\u响应\u数据=schema.dumps(上次访问\u数据)
返回上次访问响应数据,200,默认标题
validate()
应在
flask.request.get_json()
或同等文件中的原始数据上调用。您要查找的是类似于
json.loads()
的反序列化的原始结果。对于这个原始字典,
last_visit
仍然是一个字符串,并且是所期望的(格式化的日期时间字符串)

以下是一个基本示例:

导入日期时间
导入json
进口烧瓶
进口棉花糖
从日期时间导入时区
app=烧瓶。烧瓶(\uuuuu名称\uuuuuuu)
默认_头={“内容类型”:“应用程序/json”}
类ModelSchema(ma.Schema):
上次访问=ma.fields.DateTime()
@app.route(“/last_visit”,methods=[“POST”])
def get_last_visit():
schema=ModelSchema()
data=flask.request.get_json()
errors=schema.validate(数据)
如果出现错误:
返回错误,400,默认\u头
上次访问\u data=schema.load(数据)
上次访问数据[“上次访问”]=datetime.datetime.now(tz=timezone.utc)
上次访问\u响应\u数据=schema.dumps(上次访问\u数据)
返回上次访问响应数据,200,默认标题