似乎在func.random()上使用order_by在SQL中是个坏主意(http://www.webtrenches.com/post.cfm/avoid-
rand-in-mysql)。相反,我计算了表的长度,找到了具有此长度的2个随机数,然后查询表以查找与这些随机数关联的行。显然,这更快。至少它没有任何重复:)
number=session.query(func.count(Item.id)).scalar()randoms=random.sample(range(number),2)item1=session.query(Item).filter_by(id=randoms[0]+1).one()item2=session.query(Item).filter_by(id=randoms[1]+1).one()



