我有点陷入困境。我有两个模型,照片和视频。它们都继承自Item模型。我致电Photo.objects.all()
和Video.objects.all()
,然后将它们分组到一个列表中。然后,我使用for语句来显示它们。但是,我有100个视频对象和1000个照片对象。由于视频对象比照片对象少得多,我如何确保视频对象在照片对象之间平衡?
例如,我希望列表中的第1,2,4,5项为照片,第3项和第6项为视频。我真的不想让视频聚集在一起。我如何确保这种平衡的比例?据我所知,由于照片对象数量超过视频对象,因此我们不得不聚集,但我希望我的初始分页页面能够获得相对均衡的照片和视频。 谢谢!
答案 0 :(得分:0)
怎么样:
photos = Photos.objects.all()
videos = Videos.objects.all()
if photos.count() != videos.count():
#some stuff
答案 1 :(得分:0)
我认为这是一个两列合并功能。 你可以这样做。
photos = Photos.objects.all()
videos = Videos.objects.all()
step = photos.count() / videos.count()
display_list = list(photos)
pos = 0
# insert videos into display_list
for v in videos:
display_list.insert(pos, v)
pos += step + 1