Django rest framework пользователь зарабатывает очки
Как сделать точечную схему в django? Например, каждый раз, когда я отправляю сообщение и ответ true, пользователь получает очко, а когда он отправляет сообщение с id ответа и ответ True, пользователь получает больше очков
Сначала вы должны расширить модель пользователя django auth другой моделью, например, UserProfile.
class UserProfile(AbstractUser):
user = models.OneToOneField(User)
points = models.IntegerField(default=0)
class Posts(AbstractUser):
user = models.ForeignkeyField(User)
content= models.Textfield(default="")
Тогда с помощью сигналов django вы можете обновлять связанную точку пользователя каждый раз, когда создается сообщение.
from django.db.models.signals import pre_save, post_save
from django.dispatch import receiver
from posts.models import Post
@receiver(post_save, sender=Posts)
def post_created(sender, instance, created, **kwargs):
if created:
UserProfile.objects.filter(user=instance.user).update(points=F('points') + Value(25))