Django随机查询

时间:2012-10-10 15:34:32

标签: django

在views.py

我想用我的过滤器随机选择一条记录:

a=Entry.objects.filter(first_name__contains='Br')).order_by('?')[0]
b=a.id
c=Entry.objects.filter(first_name__contains='Br')).order_by('?')[0]
d=c.id

b和d可能相同。

但我的目标是每次都获得不同的入口对象和id。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

如何在同一查询中获取两个对象?这样你知道你有两个不同的条目。

a, c = Entry.objects.filter(first_name__contains='Br')).order_by('?')[0:2]
b = a.id
d = c.id

请注意,如果过滤条件少于两个条目,则会引发ValueError