Quiero implementar la función seguidores/siguiente en mi aplicación Django.Cómo implementar seguidores/siguiendo en Django
Tengo una clasePerfilUsuario para cada usuario (django.contrib.auth.User):
class UserProfile(models.Model):
user = models.ForeignKey(User, unique = True, related_name = 'user')
follows = models.ManyToManyField("self", related_name = 'follows')
Así que trató de hacer esto en Python Shell:
>>> user_1 = User.objects.get(pk = 1) # <-- mark
>>> user_2 = User.objects.get(pk = 2) # <-- john
>>> user_1.get_profile().follows.add(user_2.get_profile())
>>> user_1.get_profile().follows.all()
[<UserProfile: john>]
>>> user_2.get_profile().follows.all()
[<UserProfile: mark>]
Pero como puede ver, cuando agrego un nuevo usuario al campo follows
de un usuario, también se agrega la relación simétrica en el otro lado. Literalmente: si user1 sigue a user2, también user2 sigue a user1, y esto es incorrecto.
¿Dónde está mi error? ¿Tienes alguna forma de implementar seguidores y seguir correctamente?
Gracias chicos.
Es correcto amigo. Gracias. –
¿Cuál es la diferencia entre simétrico = falso y nombre_relacionado = 'fie +'? – danielrvt