variable template tag registered one not must library ifequal examples django

template - inclusion tags django



El objeto ''RelatedManager'' no tiene atributo (2)

Cuando accede a user.details , accede a la referencia inversa de la clave foránea UserDetail.user . La propia clave foránea no especifica que un User solo pueda tener un UserDetail , por lo que django le ofrece un RelatedManager , que puede filtrar y consultar como un Manager normal. Así que le haces lo mismo que a tus administradores de .objects . Puede solicitar user.details.all() , user.details.filter() , user.details.get() , etc., que le brindarán un queryset, un objeto o una excepción, según el Método y los resultados.

Tengo un modelo definido como este:

class UserDetail(models.Model): user = models.ForeignKey(User, db_index=True, unique=True, related_name=''details'') favourites = models.ManyToManyField(Article, related_name=''favourited_by'', blank=True)

Y estoy tratando de hacer algo como esto:

article = get_object_or_404(Article, pk=id) request.user.details.favourites.add(article)

¿Por qué no está funcionando?

Estoy recibiendo este error:

El objeto ''RelatedManager'' no tiene atributo ''favoritos''

Supongo que los details no son del tipo correcto, pero ¿por qué no? ¿Y cómo puedo realizar una consulta como esa?


Tratar

request.user.details.get().favourites.add(article)

Esto supone que el objeto UserDetail ya existe para ese usuario, de lo contrario, get() generará una excepción.