2014-01-13 2 views
0

나는 약간의 껍질을 벗기고있다. 두 가지 모델, 사진 및 비디오 있습니다. 둘 다 Item 모델을 상속합니다. Photo.objects.all()Video.objects.all()으로 전화를 걸어 목록에 그룹화합니다. 그런 다음 for 문을 사용하여 표시합니다. 그러나 나는 100 개의 비디오 객체와 1000 개의 사진 객체를 가지고 있습니다. 사진 객체보다 비디오 객체가 훨씬 적기 때문에 비디오 객체가 사진 객체간에 균등하게 균형을 유지하도록하려면 어떻게해야합니까?반환 된 각 모델의 개체 수가 동일한 지 어떻게 확인합니까?

예를 들어, 목록에있는 항목 1, 2, 4, 5를 사진으로, 항목 3과 6을 비디오로 사용하고 싶습니다. 나는 정말 비디오를 함께 묶고 싶지 않습니다. 이런 종류의 균형 잡힌 비율을 어떻게 보장 할 수 있습니까? 나는 결국 사진 개체가 덩어리가 있어야 할 비디오 개체보다 많은 것을 이해하지만, 초기 페이지 매김 페이지는 상대적으로 균형 잡힌 양의 사진과 비디오를 갖기를 바랍니다. 감사합니다.

답변

0

대해 무엇을 :

photos = Photos.objects.all() 
    videos = Videos.objects.all() 
    if photos.count() != videos.count(): 
      #some stuff 
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 
관련 문제