如何從 django 中的模型中過濾 12 個隨機物件。我試圖這樣做,但它不起作用,它只回傳了我 1 個物件。
max = product.objects.aggregate(id = Max('id'))
max_p = int(max['id'])
l = []
for s in range(1 , 13):
l.append(random.randint(1 , max_p))
for i in l:
great_proposal = product.objects.filter(id=i)
uj5u.com熱心網友回復:
我很確定代碼是正確的,但也許你沒有意識到你只是使用great_proposal作為變數來保存輸出,它不是一個陣列,因此只回傳一個輸出。
嘗試:
result_array = []
for i in l:
result.append(product.objects.filter(index=i))
uj5u.com熱心網友回復:
products = product.objects.all().order_by('-id')[:50]
great_proposal1 = random.sample(list(products) , 12)
你好 。它適用于此代碼!
uj5u.com熱心網友回復:
嘗試這個:
product.objects.order_by('?')[:12]
這 '?' 將隨機“排序”,而“[:12]”將只得到 12 個物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367924.html
