Как я могу изменить направление неактивного пользователя, пока я не нашел активное направление текущего пользователя в django
Как я могу изменить направление неактивного пользователя, пока я не нашел активное направление текущего пользователя Вот мои модели
class ReferralCode(models.Model):
user = models.ForeignKey(
User, on_delete=models.SET_NULL, null=True, blank=True)
user_active = models.BooleanField(default=False)
referral = models.ForeignKey(
User, related_name='comp_active_user', on_delete=models.SET_NULL, null=True, blank=True)
class PointValue(models.Model):
user_id = models.ForeignKey(
User, related_name='realtime_user', on_delete=models.CASCADE)
rt_ppv = models.DecimalField(
null=True, max_digits=20, decimal_places=2, default=0.00)
это мое мнение
def check_active(request):
min_ppv = 20
for user in ReferralCode.objects.all():
try:
user_point = PointValue.objects.get(
user_id=user
)
except:
pass
if user_point.rt_ppv >= min_ppv:
user.user_active = True
user.save()
else:
# getting all users referred by this user
users_referred = ReferralCode.objects.filter(
referral=user
)
# changing referral of all users to parent user of current user
for user_referred in users_referred:
user_referred.referral = user.referral
user_referred.save()
user.user_active = False
user.save()
Я хочу проверить каждого пользователя в ReferralCode и проверить его значение rt_ppv из таблицы PointValue если оно больше чем min_ppv то я меняю его статус на True, а если нет, то статус пользователя будет False и меняю всех пользователей, которых он отнес к родителям текущего пользователя (проверяю в блоке else)
Проблема : Он меняет реферала, но новый реферал всех пользователей rt_ppv не больше min_ppv так как я могу проверить это рекурсивным способом, чтобы он выдал мне активного
посмотрите это изображение для получения дополнительной информации ImageLink