list_display - django many to many through example
Django comprueba si hay un objeto en el campo ManyToMany (1)
Tengo un problema bastante simple de resolver. Tengo un modelo de Partner que tiene> = 0 Usuarios asociados a él:
class Partner(models.Model):
name = models.CharField(db_index=True, max_length=255)
slug = models.SlugField(db_index=True)
user = models.ManyToManyField(User)
Ahora, si tengo un objeto de Usuario y tengo un objeto de Socio, ¿cuál es la forma más Ptónica de verificar si el Usuario está asociado con un Socio? Básicamente, quiero una declaración que devuelva True si el User
está asociado al Partner
.
Yo he tratado:
users = Partner.objects.values_list(''user'', flat=True).filter(slug=requested_slug)
if request.user.pk in users:
# do some private stuff
Esto funciona, pero tengo la sensación de que hay una mejor manera. Además, sería fácil rodar en un decorador, teniendo en cuenta que necesito un parámetro con nombre ( slug
) y un objeto de solicitud ( user
).
Cualquier ayuda sería muy apreciada.
if user.partner_set.filter(slug=requested_slug).exists():
# do some private stuff