同一数据库模型mongoengine中的两个自引用字段

我有一个如下的数据库模型:


class Image(mongoengine.Document):


    project = mongoengine.ReferenceField('Project', required=True, 

                                 reverse_delete_rule=mongoengine.CASCADE)

    next = mongoengine.ReferenceField('self', required=False)

    prev = mongoengine.ReferenceField('self', required=False)


    name = mongoengine.StringField(unique_with='project', required=True)

    created_on = mongoengine.DateTimeField(default=datetime.utcnow())

有两个字段引用相同的模型。


只是为了测试有效性,我删除了其中一个,然后尝试保存一个Image对象,它起作用了,但是当next和prev都在dbmodel中时,在这种情况下,当保存图像对象时,我得到一个错误:


ValidationError: None is not a valid ObjectId.

如何解决这个问题?mongoengine不支持具有两个自引用的dbfield吗?


任何帮助将非常感激。


慕田峪9158850
浏览 161回答 1
1回答

森林海

得到了错误。下一个是一个内置函数,不应保留为dbfield。将其替换为不是内置属性的任何其他变量将起作用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python