2010-11-29 26 views
0

Hay i ont un modèlela recherche d'un objet étranger via ManyToManyField

def Friends(models.Model): 
    user = models.ManyToManyField(User) 

def User(models.Model): 

et je peux ajouter les "utilisateurs" au modèle "ami" en utilisant

friend = Friends.objects.get(pk=1) 
user = User.objects.get(pk=2) 
friend.add(user) 

Cependant, comment puis-je vérifier pour voir si l'objet ami a un certain utilisateur? Et si cela supprime cet utilisateur.

Répondre

1

Si vous voulez simplement supprimer l'utilisateur si elle est présente, mais ne se soucient pas vraiment si elle existe ou non, vous pouvez simplement faire ceci:

friend.users.filter(pk=user.pk).delete() 
+0

Wiil ce lancer une erreur si l'utilisateur n » t présent? – dotty

+0

Non, comme je l'ai dit, ça ne fait rien. 'filter' retournera un QuerySet vide, et' delete' sera un no-op. –