【发布时间】:2014-10-29 16:51:47
【问题描述】:
我正在尝试使用 Vontakte、mongoengine、Django 从 Vk.com 获取墙帖列表
这是我的看法,wallposts = vk.get('wall.get', owner_id=237897731, offset=0, count=10) 是 Vk.com API 调用:
import vkontakte
vk = vkontakte.API(token=access_token)
class VkWallPostListView(ListView):
model = VkWallPost
context_object_name = "vk_list"
def get_template_names(self):
return ["blog/vk_list.html"]
def get_queryset(self):
wallposts = VkWallPost.objects
if 'all_posts' not in self.request.GET:
wallposts = vk.get('wall.get', owner_id=237897731, offset=0, count=10)
for wallpost in wallposts:
wallpost.save()
#wallposts = wallposts.filter(text__startswith='RT')
tag = self.request.GET.get('tag', None)
if tag:
wallposts = wallposts.filter(tags=tag)
return wallposts
同样在这个视图中,我试图在实际调用之后立即将 API 调用的结果保存到 MongoDB:
for wallpost in wallposts:
wallpost.save()
但在浏览器中我看到一个错误:
Exception Value:
'int' object has no attribute 'save'
Exception Location: c:\Users\JOOMLER\BitNami_DjangoStack\django_mongo_test\blog\views.py in get_queryset, line 109
如果我删除这两个字符串进行循环,一切正常,并在浏览器中显示来自 Vk.com 的动态数据。但我想保存它以备后用。所以,我认为问题是如何将 JSON 响应保存到 MongoDB?
【问题讨论】:
标签: json django mongodb mongoengine vk