Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
String &引用';str';对象没有属性';strftime'&引用;在ComplexDateTime字段转换中_String_Mongodb_Mongoengine_Strftime - Fatal编程技术网

String &引用';str';对象没有属性';strftime'&引用;在ComplexDateTime字段转换中

String &引用';str';对象没有属性';strftime'&引用;在ComplexDateTime字段转换中,string,mongodb,mongoengine,strftime,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.ComplexDat

嗯,我正在服务中实现一个测试用例,但是我面临一些问题

下面是一个代码示例

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是类访问中的对象:

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”


我做错了什么?

您需要使用
datetime
实例,而不是字符串,并且不需要使用
到mongo
从字符串转换过来

如的文档中所述,与常规datetime字段的唯一区别在于,日期将作为字符串存储在场景后面,但您与该属性的任何交互都将使用
日期时间

见下文:

class Visit(Document):
    timestamp = ComplexDateTimeField()

visit = Visit(timestamp=datetime.utcnow())
visit.save()
assert isinstance(visit.timestamp, datetime)

# print object as it is stored in mongodb
print(Visit.objects.as_pymongo())
# Output: [{'timestamp': '2020,01,23,22,24,21,449017', '_id': ObjectId('5e2a1d15f3ede875e9c0b806')}]

如果您想要更多的代码示例,请随意查看相应的代码。

这看起来像Python,但您应该添加相应的标记。此外,请提取并提供一份。它也可能与数据库中的内容相关,所以也可以添加一个片段来填充测试集合。哦,我现在明白了。我想我应该改变它。谢谢你的解释!