1

views.pyで

フィルタを使用してランダムに1つのレコードを選択したい:

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を取得することです。これどうやってするの?

4

1 に答える 1

2

同じクエリで両方のオブジェクトをフェッチするのはどうですか?そうすれば、2つの異なるエントリがあることがわかります。

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

ValueErrorフィルタが2つ未満のエントリに一致する場合、これによりaが発生することに注意してください。

于 2012-10-10T15:45:55.973 に答える