2012-09-28 3 views
0

내보기에는 두 개의 장고 쿼리가 있습니다. 그들은 다음과 같이이다 : 나는 다음과 같은 순서로이 두 쿼리를 결합해야두 개의 Django 쿼리를 특정 순서로 결합

news = News.objects.all()[:8] 
posts = Post.objects.all()[:3] 

:

[news, post, news, news, news, post, news, post, news, news, news] 

은 내가 lambda를 사용하거나 count의 일종을해야 할 것이라고 확신합니다, 그러나 나는이 시점에서 조금 길을 잃었다. countappend을 사용해야하나요?

+0

당신은''[뉴스, 포스트, 뉴스 뉴스 뉴스] 뒤에 논리를 설명 할 수 - 당신의 모델을 게시 할 수 있습니다. 귀하의 뉴스와 게시물이 관련되어 있다면; 'n.posts_set.all()'또는 유사하게 할 수 있습니다. –

+0

안녕 Burhan,이 두 모델은 관련이 없습니다. 두 유형 모두 장고 템플릿의 for 루프에 배치됩니다. – ajt

답변

3

번호

def selector(seqs, picks): 
    iters = [iter(x) for x in seqs] 
    for choice in picks: 
    yield next(iters[choice]) 

print list(selector((news, post), (0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0))) 
관련 문제