我试图用Vontakte,mongoengine摆脱Vk.com的墙后的名单,Django的 这是我的看法,其中wallposts = vk.get('wall.get', owner_id=237897731, offset=0, count=10)
是Vk.com API调用:如何将VK.com API响应中的JSON保存到MongoDB?
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在浏览器中的飞行数据。但我想保存它以备后用。所以,我认为问题是如何保存到MongoDB的JSON响应?
这里是讨论https://plus.google.com/u/0/+VicNgrail/posts/f8YWYtdqGSz – 2014-09-13 18:28:17
我音响做 vk_posts = vk.get( 'wall.get',owner_id = 1519369,偏移= 0,计数= 5) 用于vk_post在vk_posts: 打印vk_post 我在控制台得到了数1367次这样 的项目{u'likes':{u'count':4,u'can_publish':1,u'can_like':1,u'user_likes':0},u'attachments':[{u'photo':{u 'access_key':u'dff779d5b0ebfa8818',u'src':u'http://cs540104.vk.me/c540103/v5401039 ....... u'from_id':71201089} – 2014-09-13 18:29:05