本文整理汇总了Python中photo.Photo.load_from_db方法的典型用法代码示例。如果您正苦于以下问题:Python Photo.load_from_db方法的具体用法?Python Photo.load_from_db怎么用?Python Photo.load_from_db使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类photo.Photo
的用法示例。
在下文中一共展示了Photo.load_from_db方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_by_likes
# 需要导入模块: from photo import Photo [as 别名]
# 或者: from photo.Photo import load_from_db [as 别名]
def load_by_likes(self, photo_id, db, cursor):
# select photos where like < likes_for(photo_id)
# union
# select photos where like = likes_for(photo_id) and timestamp < timestamp_for(photo_id)
curr_photo = Photo()
curr_photo.load_from_db(photo_id, cursor)
curr_photo_likes = curr_photo.like_count(db, cursor)
curr_photo_approve_timestamp = curr_photo.get_dict()["approved_at"]
sql = "SELECT photos.id, photos.fb_id, photos.filename, photos.caption, \
photos.owner_id, photos.state, photos.created_at, photos.approved_at, \
likes_count.count \
FROM photos \
LEFT JOIN (SELECT photo_id, count(*) AS count FROM likes GROUP BY photo_id) AS likes_count \
ON photos.id = likes_count.photo_id \
WHERE likes_count.count = %s \
AND photos.approved_at < %s \
\
UNION \
\
SELECT photos.id, photos.fb_id, photos.filename, photos.caption, \
photos.owner_id, photos.state, photos.created_at, photos.approved_at, \
likes_count.count \
FROM photos \
LEFT JOIN (SELECT photo_id, count(*) AS count FROM likes GROUP BY photo_id) AS likes_count \
ON photos.id = likes_count.photo_id \
WHERE likes_count.count < %s"
try:
cursor.execute(sql, (curr_photo_likes, curr_photo_approve_timestamp, curr_photo_likes))
data = cursor.fetchall()
for row in data:
photo = Photo()
photo.load_from_tuple(row)
self.photos_list.append(photo)
return self.photos_list
except Exception, e:
raise e