2017-09-06 4 views
0

ich nur bestimmte Karten zeigen will, mit spezifischer Post bezogen werden:django filter() queryset Ausgabe

UPDATE:

Aktuelle Ausgabe:

Internal Server Error: /board/table/card/create/ 
Traceback (most recent call last): 
    File "C:\Program Files\Python36\lib\site-packages\django\core\handlers\excepti 
on.py", line 41, in inner 
    response = get_response(request) 
+0

Können Sie die vollständige Traceback buchen? Sie rufen '.split()' irgendwo auf, aber es ist nicht in dem Code, den Sie vorgestellt haben. – jape

+0

Ich habe mein Problem bearbeitet. –

+0

Können Sie bitte Ihre 'create_card()' Funktion posten? Ihr Fehler kann kein Board-Objekt mit der Variable title_board finden, die Sie hier übergeben: 'unique_board = Board.objects.get (title = title_board)' – jape

Antwort

0

Sie können Ihre Karten direkt zugreifen, indem Sie board.cards

def board_detail(request, slug): 
    board = get_object_or_404(Board, title=slug) 
    cards = board.cards 
    # ___________^ 

    template = 'board/board_detail.html' 
    context = {'board': board, 'cards': cards} 

    return render(request, template, context) 

Und dann in der Vorlage:

{% for card in cards %} 
    <p>{{ card.title_card }}</p> 
{% endfor %} 
+0

Ich versuche es, aber wenn ich versuche, noch einmal neue Karte hinzufügen, habe ich: Nicht gefunden:/board/table/card/create/issue. Dies ist gültig. Der erste Eintrag ist gültig, nächster keine –

+0

@WaterInTheButtle Ich habe gerade meine Antwort bearbeitet. – wencakisa

+0

Ich bin ".all" hinzufügen, aber ich kann kein neues Formular senden. AttributeError: Objekt 'NoneType' hat kein Attribut 'Split' –

0

Warum auf den Modellmanager von Karten zugreifen? Wenn Sie nur die Karten für dieses Board möchten, probieren Sie board.cards aus. Und Sie können das weiter filtern