【问题标题】:How to show user's friends posts如何显示用户的好友帖子
【发布时间】:2013-11-28 21:47:32
【问题描述】:

我正在开发一个网络应用程序,用户可以在其中发布并在朋友之间分享,例如在 Facebook 或其他社交媒体上,并且用户的主页将包含他所有朋友的帖子。为了保存用户和他们的朋友,我正在使用数据存储。相同的代码是:

class Tour(db.Model):
 username = db.StringProperty()
 userid = db.StringProperty()
 dst = db.StringProperty()
 frm = db.StringProperty()
 via = db.StringProperty()
 desc = db.TextProperty()
 date = db.DateTimeProperty(auto_now_add=True)

`class User(db.Model):
  google_user_id = db.StringProperty()
  google_display_name = db.StringProperty()
class Friends(db.Model):
 owner_user_id = db.StringProperty()
 friend_user_id = db.StringProperty()
 friends_name = db.StringProperty()`

为了存储用户好友,我的代码是:

 `@staticmethod
  def get_and_store_friends(user):
    http = decorator.http()
    user = service.people().get(userId="me").execute(http=http)
    edges = Friends.all().filter('owner_user_id = ', user['id']).run()
    db.delete(edges)
    friends =service.people().list(userId='me',collection='visible').execute(http=http)
    for google_friend in friends.get('items'):
     friend_id = google_friend.get('id')
     friend_name = google_friend.get('displayName')
     friend = User.all().filter('google_user_id = ',google_friend.get('id')).get()
     if friend is not None:
      edge = Friends()
      edge.owner_user_id = user['id']
      edge.friend_user_id = friend_id
      edge.friends_name = friend_name
      edge.put()`

我在查询数据存储区以检索用户朋友的帖子时需要帮助。 我试过了:

  friend_already = Friends.all().filter('owner_user_id =',user['id']).get()
  if friend_already is not None:
    friend_id = friend_already.friend_user_id
    friend_tour = Tour.all().filter('userid =',friend_id)
    friends_tour = friend_tour.fetch(100)

但它只返回一个朋友的帖子。如何从数据存储中查询以获取用户朋友的所有帖子。谢谢

【问题讨论】:

    标签: google-app-engine python-2.7 jinja2 webapp2


    【解决方案1】:

    friend_already 行中的.get() 只返回第一个。

    让所有朋友使用:

    friend_already = Friends.all().filter('owner_user_id =',user['id'])  # no get()
    for each in friend_already:
        friend_id = each.friend_user_id
        ....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2021-05-14
      • 2013-11-21
      相关资源
      最近更新 更多