Đang cố gắng lấy một ảnh ngẫu nhiên từ mỗi album từ dữ liệu được tạo bởi syncr. Mô hình (viết tắt) trông giống như sau:Django - Chọn một ảnh ngẫu nhiên từ mỗi Album
class Album(models.Model):
title = models.CharField(max_length=200)
photos = models.ManyToManyField('Photo')
class Photo(models.Model):
title = models.CharField(max_length=200)
Tôi đã thử nhiều cách tiếp cận khác nhau không thành công. Đây có phải là một cách dễ dàng khác không?
Take 2: Mã cuối cùng:
phòng trưng bày def (yêu cầu, TEMPLATE_NAME = 'galleries.html'):
albums = Album.objects.select_related().all()
album_list = []
for album in albums:
album_list.append({'title':album.title, 'id':album.id, 'photo':album.random_photo()})
return render_to_response(template_name, {
"album_list": album_list,
})
học được rất nhiều từ tất cả các câu trả lời và cuối cùng sử dụng một sự kết hợp. Cảm ơn rất nhiều tất cả: phòng trưng bày def (yêu cầu, TEMPLATE_NAME = 'galleries.html'): album = Album.objects.select_related() tất cả() album_list = [] cho album trong album:. album_list. chắp thêm ({'title': album.title, 'id': album.id, 'photo': album.random_photo()}) trả lại render_to_response (template_name, { "album_list": album_list, }) – PhoebeB