如何将文档附加到Django和mongoengine中的二级嵌入式模型列表文档中

时间:2013-04-30 22:13:18

标签: pymongo django-nonrel

我目前正面临一些尝试将嵌入式模型对象添加到列表中的问题,该列表也位于嵌入式模型列表中。 我正在使用Django nonrel和mongoengine与djangotoolbox。 所以,这是我的mongo系列:

{
"_id" : ObjectId("517fe872e138235e2cae9e8c"),
"campaigns" : [
    {
        "payout" : 0.7,
        "landing_page" : [ ],
        "name" : "A prueba de todo",
        "rotate_urls" : null,
        "_module" : "setup.models",
        "_model" : "Campaigns",
        "cloaking" : true,
        "rotate_urls_status" : false,
        "affiliate_url" : "www.google.com/[[subid]][[c1]][[c2]][[c3]][[c4]]"
    },
    {
        "payout" : 0.7,
        "landing_page" : [ ],
        "name" : "DOS",
        "rotate_urls" : null,
        "_module" : "setup.models",
        "_model" : "Campaigns",
        "cloaking" : true,
        "rotate_urls_status" : false,
        "affiliate_url" : "www.google.com/[[subid]][[c1]][[c2]][[c3]][[c4]]"
    }
],
"category_name" : "videos"}

我已经尝试了8天在“landing_page”中添加一个新文档,该文档位于集合中,category_name等于“videos”,其中包含名为“DOS”的广告系列文档 所以,我正试图在里面添加一个新文档 收藏 - >广告系列 - > landin_page

我尝试过使用django ORM这样的查询: affnetworkid =用文档id

准备django变量
collection = Categories.objects.get(id=affnetworkid,campaigns__in={name:campaign_name})

但没有任何效果!!我需要返回需要内部的类别结果对象,这个:

{
    "payout" : 0.7,
    "landing_page" : [ ],
    "name" : "DOS",
    "rotate_urls" : null,
    "_module" : "setup.models",
    "_model" : "Campaigns",
    "cloaking" : true,
    "rotate_urls_status" : false,
    "affiliate_url" : "www.google.com/[[subid]][[c1]][[c2]][[c3]][[c4]]"
}

这样我可以这样做:

collection.landing_page.append(LandingPageClass)
collection.save()

但遗憾的是,到目前为止,我还没有达到预期的结果......任何人都可以帮我解决这个问题吗? 每次我尝试迭代这样的查询时:

a = Categories.objects.get(id=affnetworkid)

我收到一条错误消息,指出返回的对象不可迭代。 感谢

0 个答案:

没有答案