【问题标题】:Motorengine (Mongo + Python) : How do I reference a model inside another model?Motorengine (Mongo + Python):我如何在另一个模型中引用一个模型?
【发布时间】:2015-07-10 18:52:04
【问题描述】:

我有两门课:

项目:

class Projects(Document):
    name = StringField(required=True)
    description = StringField()
    created_by = ReferenceField(Users)

用户:

class Users(Document):
    username = StringField(required=True)
    password = StringField(required=True)

我想在 Projects 模型中为属性 created_by 引用 User 模型。但我得到这个错误:

InvalidDocumentError("字段 '%s' 必须有效。" % name)

InvalidDocumentError:字段“created_by”必须有效。

这里有什么问题?

谢谢!

【问题讨论】:

    标签: python mongodb tornado-motor


    【解决方案1】:

    如果引用 ObjectId 无效,Motorengine 将引发 InvalidDocumentError,因此您必须在保存项目之前保存用户文档

    user = Users(username='user', password='pass')
    user.save()
    
    project = Projects(name='project', description='desc', created_by=user)
    project.save()
    

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 2011-05-13
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2018-03-31
      相关资源
      最近更新 更多