Почему этот сигнал работает не так, как ожидалось?
Буду благодарен за помощь. Кто-нибудь знает, почему этот сигнал срабатывает только тогда, когда "значение xp" отличается от уже существующего? Например, если для этого пользователя уже существует объект UserLeaderboardTracking со значением 10, то он не создаст его, иначе создаст .
def create_user_leaderboard_tracking(sender, instance, *args, **kwargs):
if instance.xp_collected == 0:
pass
else:
UserLeaderboardTracking.objects.get_or_create(user=instance.user,
xp_value=instance.xp_collected)
Я использовал <get_or_create> и вместо этого должен был использовать
def create_user_leaderboard_tracking(sender, instance, *args, **kwargs):
if instance.xp_collected == 0:
pass
else:
UserLeaderboardTracking.objects.create(user=instance.user,
xp_value=instance.xp_collected) ```