Есть ли способ обновить запрос на обновление, как этот? - PullRequest
0 голосов
/ 09 января 2020

Я создаю 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

...