SORU
7 HAZİRAN 2009, Pazar


Nasıl'in Django ORM rastgele bir kayıt kullanarak çekmek için?

Resimleri temsil eden bir model var ben sitemde mevcut. Bazılarını göstermek istiyorum ana sayfası: en yeni, en kez ziyaret edildi değil, en popüler rasgele bir tane.

Django 1.0.2 kullanıyorum.

Bunlardan ilk 3 django modelleri kullanarak çekmek kolay olsa da, son bir (rasgele) bana biraz sıkıntı neden olur. Toptan Bayan Moda Takı böyle bir şey için benim görüşüme göre bu kod, ben

number_of_records = models.Painting.objects.count()
random_index = int(random.random()*number_of_records) 1
random_paint = models.Painting.get(pk = random_index)

Benim görüşüme göre tho istediğim bir şey gibi görünmüyor - bu tamamen veritabanı soyutlama parçasıdır ve model olmalıdır. Ayrıca, burada kaldırıldı kayıtları (sonra tüm kayıtları sayısı bana tüm olası anahtar değerleri karşılamaz) ve daha bir sürü muhtemelen dikkat çekmek istiyorum.

Bu model soyutlama içinde tercihen bir şekilde elimden ne başka seçenekler var mı?

CEVAP
7 HAZİRAN 2009, Pazar


Sadece kullanın:

MyModel.objects.order_by('?').first()

QuerySet API belgelenmiştir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010