Wie bekomme ich alle (eindeutigen) Tags von django-taggit? Ich möchte alle Tags in einer Seitenleiste anzeigen. Derzeit kann ich alle Tags für einen bestimmten Beitrag abrufen, aber jetzt muss ich alle eindeutigen Tags im gesamten Blog abrufen.Erhalten Sie alle Tags von taggit
Code in models.py:
from django.db import models
from taggit.managers import TaggableManager
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
created = models.DateTimeField()
tags = TaggableManager()
Danke. Sollte ich "tags = Tag.objects.all()" unter Post hinzufügen? Und wie wird es angezeigt? – Robby
Meinst du für einen Beitrag, d. H. Post = Post.objects.get (pk = 1)? Oder alle Beiträge (Post.objects.all())? –
@Vino Nein, du solltest es nicht zu deinem 'Post' Modell hinzufügen. Bearbeiten Sie die aktuelle Ansicht, in der die Seitenleiste angezeigt werden soll, und übergeben Sie die Tag-Liste an Ihre Vorlage. 'Tag.objects.all()' ist die Standardmethode zum Abrufen von Objekten über das Django-ORM. Weitere Informationen finden Sie in der Dokumentation (https://docs.djangoproject.com/de/dev/topics/db/queries/#retrieving-objects). Wenn Sie nur die Tag-Namen benötigen, verwenden Sie ein Listenverständnis: 'tag_names = [tag.name für tag in Tag.objects.all()]' –