Mongoengine,字典后的关键字字段。。Mongoengine无法将字段名转换为db\u字段

2024-10-03 02:41:16 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你尝试这个代码。。你可以看到我的问题。。在

class Embedded(EmbeddedDocument):
    boxfluxInt = IntField(default=0, db_field='i')
    meta = {'allow_inheritance': False}
class Test(Document):
    boxflux = MapField(field=EmbeddedDocumentField(Embedded), db_field='x')
    meta = {'collection': 'test',
                   'allow_inheritance': False}
Test.drop_collection()

newTestDoc = Test()
newTestDoc.boxflux['DICTIONARY_KEY'] = Embedded(boxfluxInt=1)
newTestDoc.save()
Test.objects.update_one(inc__boxflux__DICTIONARY_KEY__boxfluxInt=1)

Mongodb的结果是。。在

^{pr2}$

如您所见,我打算将“x.DICTIONARY_KEY.I”增加1 但结果是创建了一个新键(boxfluxInt),即使我将“boxfluxInt”的db_字段设置为“I”

是虫子吗?还是我错了?在

我认为dictionary key('dictionary_key')使得无法转换到mongo风格的db字段。。如果我是对的。。在


Tags: keytestfalsefielddbdictionaryinheritancemeta
1条回答
网友
1楼 · 发布于 2024-10-03 02:41:16

好吧,这看起来像一个bug,报告它们的最佳位置是github:http://github.com/mongoengine/mongoengine

这个问题在0.7之前不会被修复,因为它会破坏现有的生产用户。因此,作为修复的一部分,我必须写下迁移注释。在

相关问题 更多 >