1

我目前在尝试将嵌入式模型对象添加到列表中时遇到一些问题,该列表也在嵌入式模型列表中。我将 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”的活动文档所以,我正在尝试在里面附加一个新文档收藏 -> 活动 -> 登陆页面

我尝试过使用 django ORM 使用这样的查询:affnetworkid = Prepare django variable with the document id

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)

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

4

0 回答 0