我有以下数据库模型:
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不支持有两个自引用dbfields吗?
任何帮助都会非常感激。
答案 0 :(得分:0)
得到了错误。
下
是一个内置函数,不应该保存为dbfield。
将其替换为不是内置属性的任何其他变量都可以。