gpt4 book ai didi

python - Python MongoEngine 中的异构列表

转载 作者:可可西里 更新时间:2023-11-01 09:35:27 26 4
gpt4 key购买 nike

MongoEngine支持在列表中有不同的数据类型?例如,我想要一个 ListField() 来存储 IntField() 以及 StringField()。有没有办法在 MongoEngine 中做到这一点?

最佳答案

除非您要求,否则 ListField 不会强制执行数据类型。但是,如果您这样做,那么此时它必须是单一数据类型。例如

这个有效:

import mongoengine as mdb
class Stuff(mdb.Document):
things = mdb.ListField()

s = Stuff(things=['1',2,[4,5]])
s.save()

这会抛出 TypeError,因为它正在执行一种数据类型:

import mongoengine as mdb
class Stuff(mdb.Document):
things = mdb.ListField(mdb.IntField())

s = Stuff(things=['1',2,[4,5]])
s.save()

这会抛出 AttributeError,因为它期望将 Field 作为第一个参数:

import mongoengine as mdb
class Stuff(mdb.Document):
things = mdb.ListField([mdb.IntField(),mdb.StringField(),mdb.ListField()])

s = Stuff(things=['1',2,[4,5]])
s.save()

我可以看到最后一个例子很有用,所以你可能想提交 an issue在项目 repo 协议(protocol)上。

关于python - Python MongoEngine 中的异构列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com