I want to check request.user in profile.favourite and followUser.folpr if an object exists delete or add but check don't work only add and create work
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
favourite = models.ManyToManyField( User, related_name='favouriteUser', default=None, blank=True)
avatar = models.ImageField( upload_to=user_directory_path, default='users/avatar.png')
bio = models.TextField(max_length=5500, blank=True)
class followUser(models.Model):
folPr = models.ForeignKey(Profile, related_name='followfp', on_delete=models.CASCADE, default=None, blank=True)
follUser = models.ForeignKey(User, related_name='followidf', on_delete=models.CASCADE, default=None, blank=True)
@ login_required
def favourite_add_user(request, id):
post = get_object_or_404(Profile, id=id)
if post.favourite.filter(id=request.user.id).exists():
post.favourite.remove(request.user)
followUser.objects.get(user=request.user,folPr=post ).delete()
else:
post.favourite.add(request.user)
followUser.objects.create(follUser=request.user,folPr=post ).save()
return HttpResponseRedirect(request.META['HTTP_REFERER'])
CodePudding user response:
change to this
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
follow = models.ManyToManyField( User, related_name='followUser', default=None, blank=True)
avatar = models.ImageField( upload_to=user_directory_path, default='users/avatar.png')
bio = models.TextField(max_length=5500, blank=True)
class followUser(models.Model):
profiles = models.ForeignKey(Profile, related_name='followfp', on_delete=models.CASCADE, default=None, blank=True)
avatar = models.ForeignKey(User, related_name='followidf', on_delete=models.CASCADE, default=None, blank=True)
@ login_required
def follow_add_user(request, id):
post = get_object_or_404(Profile, id=id)
if post.follow.filter(id=request.user.id).exists():
post.follow.remove(request.user)
followUser.objects.get(avatar=request.user,profiles=post ).delete()
else:
post.follow.add(request.user)
followUser.objects.create(avatar=request.user,profiles=post ).save()
return HttpResponseRedirect(request.META['HTTP_REFERER'])