2013-12-16 2 views
0

특정 기준으로 필터링 된 최신 항목을 출력하고 싶습니다. 나는이 모델을 가지고있다 :기준 별 최신 항목 필터 쿼리

class Task(models.Model): 
    active = models.BooleanField(default=True, verbose_name="Activation") 
    kind = models.CharField(max_length=1, default=2) 
    mode = models.CharField(max_length=32) 
    category = models.ForeignKey(TaskCategory, verbose_name="Catégorie") 
    city = models.ForeignKey(AppCity, verbose_name="Ville") 
    skill = models.ManyToManyField(SkillKind, null=True, blank=True, verbose_name="Compétence requise") 

각각 city에 대해 다섯 번째 항목을 가져오고 싶다. 이것을 어떻게 할 수 있습니까?

+0

마지막 5 번째 또는 5 번째를 원하십니까? –

+0

각 도시마다 최신 5 개를 원합니다 (제 영어는 유감입니다 ...). – Adrihein

답변

1

날짜/날짜/시간 필드가없고 명시적인 순서가 없으므로이 컨텍스트에서는 "최신"이라는 의미를 알 수 없습니다. 그러나 기본 순서는 사용자가 좋다고 가정하거나 쿼리 세트에 설정하십시오.

for city in AppCity.objects.all(): 
    print city.task_set.reverse()[:5] 
+0

예 datetime 필드가 있지만 내 질문에 그것을 제거했습니다. 나는 네 논리를 이해하고 각 도시의 결과를 사전에 재고 할 것이다. Merci;) – Adrihein

+0

De rien, de rien;) –