Я создаю API для запроса электронной почты и пароля, но дело в том, что я хочу, чтобы эта электронная почта и пароль были недоступны в течение 10 минут, как только я позвонил им в первый раз, а затем, когда прошло 10 минут, электронная почта и пароль будут доступны снова.
Это модель
class User(models.Model):
mail = models.EmailField(max_length=100)
password = models.CharField(max_length=60)
date = models.DateTimeField()
def __str__(self):
return self.mail
Сериализаторы.
from .models import User
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Usuario
fields = ['mail', 'password', 'date']
class InactiveUser(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ['mail']
Представления
class UserViewSet(viewsets.ModelViewSet):
permission_classes = (IsAuthenticated,)
queryset = Usuario.objects.all().order_by('mail')
serializer_class = UsuarioSerializer
class GetUser(viewsets.ModelViewSet):
permission_classes = (IsAuthenticated,)
future = timezone.now() + timezone.timedelta(minutes=10)
queryset = User.objects.filter(date__lt=future)[:1]
for u in queryset:
u.date = timezone.now()
u.save()
break
serializer_class = UserSerializer