type through queryset one many foreign example django django-models manytomanyfield

django - through - El objeto ''QuerySet'' no tiene ningún atributo ERROR, tratando de obtener datos relacionados en los campos ManyToMany



reverse many to one django (2)

QuerySet.get() devolverá un único modelo según los criterios que haya pasado, o generará una excepción.

tengo los siguientes modelos:

class Tag(models.Model): tag_name = models.CharField(max_length=250) tagcat = models.ForeignKey(''TagCat'') class Subject(models.Model): user = models.ManyToManyField(User) tags = models.ManyToManyField(Tag) class TagCat(models.Model): cat_name = models.CharField(max_length=100)

Entonces tengo un tema, eso tiene una etiqueta. Quiero hacer un bucle con los temas y sus etiquetas apropiadas, así que estoy tratando de construir la vista correcta. Hasta ahora, tengo:

def home(request): user1 = Subject.objects.filter(id=1) print(user1.tags.all())

Esperaría obtener las etiquetas del usuario a través de esta declaración de impresión, pero en su lugar obtengo un error

El objeto ''QuerySet'' no tiene atributos ''tags''

¿Cómo obtendría los objetos ''Subject'' con sus respectivas etiquetas y los pasaría a la plantilla?

(Idealmente, todas las asignaturas. Lo hice con solo una aquí, para simplificar el proceso de solución de problemas)


filter devuelve un QuerySet (como puede haber adivinado), desea get lugar

user1 = Subject.objects.get(id=1)

Si el Subject no existe, obtendrá una excepción Subject.DoesNotExist . También está el atajo get_object_or_404 en django.shortcuts que es útil si simplemente está tomando un objeto que se va a mostrar de alguna manera y desea devolver un 404 si no está disponible.