Мой проект - это сайт социальной сети, который может отправлять запросы друзьям и заводить друзей.
Я расширил существующую модель пользователя django, используя поле oneToone.
До сих пор я был в состоянии выполнить вышеупомянутое, но когда пользователь принимает запрос, и пользователь, отправивший запрос, и пользователь, принявший его, должны увеличивать значение в своей расширенной пользовательской модели, в которой хранится значение. их друзей считают.
Я сталкиваюсь с трудностями, пытаясь решить эту проблему.
Я также использовал сигналы, но это не работает.
Вот мой код:
models.py:
class Friends(models.Model):
"""Model for saving relationship of user and friends"""
request_id = models.ForeignKey(User,on_delete=models.CASCADE,related_name='current_user')
friend_id = models.ForeignKey(User,on_delete=models.CASCADE,related_name='user_friend')
created_on = models.DateTimeField(auto_now_add=True,auto_now=False)
class Meta:
verbose_name_plural = "Friends"
def __str__(self):
return str(self.friend_id)
class Profile(models.Model):
user = models.OneToOneField(User,related_name='profile',on_delete=models.CASCADE)
location = models.CharField(max_length=30,blank=True)
friends_count = models.PositiveIntegerField(default=0)
profile_pic = models.ImageField(upload_to='profile_pics/',blank=True,null=True)
def natural_key(self):
return (self.user.username,)
signals.py:
@receiver(post_save,sender=Friends)
def update_friends_count(sender,instance,created,**kwargs):
if created:
user_profile = Profile(user = instance.request_id)
user_profile.friends_count=F('friends_count')+1
user_profile.save()
Любая помощь будет принята с благодарностью !!!!! Заранее спасибо !!!