好吧,我正在服务中实现一个测试用例,但是我遇到了一些问题。
这是代码示例
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'
我在做什么错了?
答案 0 :(得分:1)
您需要使用datetime
实例,而不是字符串,也不需要使用to_mongo
或_convert_from_string
。
如ComplexDateTimeField的文档中所述,与常规DateTimeField的唯一区别是日期将作为字符串存储在幕后,但是您与该属性进行的任何交互都将与{{ 1}}。
见下文:
datetime
如果您想要更多的代码示例,请随时查看相应的test file。