小编Jos*_*mer的帖子

MongoEngine 嵌入文档中的取消引用关系

我有一个使用 MongoEngine 的架构,看起来像这样

class User(db.Document)
    email = db.EmailField(unique=True)

class QueueElement(db.EmbeddedDocument):
    accepts = db.ListField(db.ReferenceField('Resource'))
    user = db.ReferenceField(User)

class Resource(db.Document):
    name = db.StringField(max_length=255, required=True)
    current_queue_element = db.EmbeddedDocumentField('QueueElement')

class Queue(db.EmbeddedDocument):
    name = db.StringField(max_length=255, required=True)
    resources = db.ListField(db.ReferenceField(Resource))
    queue_elements = db.ListField(db.EmbeddedDocumentField('QueueElement'))

class Room(db.Document):
    name = db.StringField(max_length=255, required=True)
    queues = db.ListField(db.EmbeddedDocumentField('Queue'))
Run Code Online (Sandbox Code Playgroud)

我想返回一个 Room 对象的 JSON 对象,该对象将包括有关其队列的信息(连同引用的资源)和嵌套的 queue_elements(连同它们引用的“接受”引用和用户引用)

但是,当我想返回取消引用其关系的 Room 时:

room = Room.objects(slug=slug).select_related()
if (room):
    return ast.literal_eval(room.to_json())
abort(404)
Run Code Online (Sandbox Code Playgroud)

我没有得到任何取消引用。我得到:

{
   "_cls":"Room",
   "_id":{
      "$oid":"552ab000605cd92f22347d79"
   },
   "created_at":{
      "$date":1428842482049
   },
   "name":"second",
   "queues":[
      {
         "created_at":{
            "$date":1428842781490
         },
         "name":"myQueue",
         "queue_elements":[ …
Run Code Online (Sandbox Code Playgroud)

python mongodb mongoengine

6
推荐指数
0
解决办法
439
查看次数

标签 统计

mongodb ×1

mongoengine ×1

python ×1