ComplexDateTimeField转换中的“'str'对象没有属性'strftime'”

时间:2020-01-22 14:18:46

标签: string mongodb mongoengine strftime

好吧,我正在服务中实现一个测试用例,但是我遇到了一些问题。

这是代码示例

datetime_one = mongo.ComplexDateTimeField()._convert_from_string('2019, 12, 20, 19, 24, 10, 451923')

visitor = Visit()
visitor.user_id = '750645c7-bf66-4023-9a2d-9c942a25f6cd'
visitor.timestamp = mongo.ComplexDateTimeField().to_mongo(datetime_one)
visitor.save()

visitor是来自Visit类的对象:

from datetime import datetime
import mongoengine as mongo

class Visit(mongo.Document):

    user_id = mongo.UUIDField(required=True)
    timestamp = mongo.ComplexDateTimeField(required=True, default=datetime.utcnow, editable=False)

当我尝试运行此代码时,在visitor.timestamp ...行中出现错误...

AttributeError:'str'对象没有属性'strftime'

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您需要使用datetime实例,而不是字符串,也不需要使用to_mongo_convert_from_string

ComplexDateTimeField的文档中所述,与常规DateTimeField的唯一区别是日期将作为字符串存储在幕后,但是您与该属性进行的任何交互都将与{{ 1}}。

见下文:

datetime

如果您想要更多的代码示例,请随时查看相应的test file