Django -Vorlage an erster Stelle?
-
13-09-2019 - |
Frage
Ich muss so etwas wie
{{ article.product.images.first.image.url }}
In meiner Vorlage, aber es gibt kein "zuerst" (images
ist ein RelatedManager
für das ich sehr wenig Dokumentation gefunden habe).
Gibt es eine andere Möglichkeit, dies zu tun? Ich kann das erste Modell mit bekommen
{{ article.product.images.get_query_set|first }}
Aber dann muss ich ein paar Eigenschaften tiefer graben, und das funktioniert nicht.
Wenn es hilft, sieht mein Bildmodell so aus:
class ComponentImage(models.Model):
component = models.ForeignKey(Component, related_name='images')
image = models.ImageField(upload_to='uploads')
Und article.product
ist ein Component
.
Lösung
Wie wäre es mit {{article.product.images.all.0.image.url}}
' ?
Dies ist der gleiche wie der Python -Ausdruck article.product.images.all[0].image.url
.
Eine andere Option besteht darin, dem Produktmodell eine Methode hinzuzufügen, die zurückgibt images[0].image.url
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow