2017-07-18 2 views
0

J'ai une table de base de données comme ceci:Django QuerySet pour retourner des objets dans plusieurs à plusieurs champs

ID epic_key  issue_key  status 
1  JIR-1   JIR-12  TODO 
2  JIR-2   JIR-13  OPEN 
3  JIR-2   JIR-18  CLOSE 
4  JIR-2   JIR-88  TODO 
5  JIR-3   JIR-89  TODO 
6  JIR-3   JIR-99  CLOSE 

Dans un modèle Django (index.html), je veux afficher toutes issue_key liées avec epic_key uniques valeurs. Toutes les informations doivent être affichées dans le tableau en une fois. Par exemple. Pour y JIR-2epic_ke, afficher tous issue_keys Il devrait être comme Select issue_key where epic_key is "epic_key"

JIR-2 JIR-13 
     JIR-18 
     JIR-88 

JIR-3 JIR-89 
     JIR-99 

Un bloc pliable, une table, tout accordéon peut aider.

Répondre

0
keys = issue_key.objects.filter(epic_key__in=epic_key_set) 

Making queries#in

Pour l'utiliser dans le modèle que vous devez le transmettre dans le cadre du contexte:

context['issue_keys']=keys 
return render(request, TEMPLATE_NAME, context) 

Et puis dans le modèle:

{% for key in issue_keys %} 
    <p>Key: {{ key }}</p> 
{% endfor %} 
+0

Pouvez-vous S'il vous plaît élaborer. Où mettre ce morceau de code et ensuite l'utiliser dans le modèle. Je suis nouveau sur Django –

+0

Devrait-il être MODELNAME.object.filter (epic_key__in = epic_key_set) ?? –

+0

Mis à jour ma réponse. Et oui, 'issue_key' dans' issue_key.objects.filter (epic_key__in = epic_key_set) 'est MODELNAME. –