Сохранение экземпляра модели перед отправкой ответа в Django

Есть ли способ добавить запись в БД ДО отправки ответа? Я только что узнал о Django Signals, поэтому предполагаю, что это может быть кандидатом.

Причина, по которой я спрашиваю об этом, заключается в проблеме, с которой я столкнулся, используя knox + drfpasswordless.

В этом сниппете возвращается токен аутентификации. Однако токен здесь не сохраняется.

Когда я вызываю AuthToken.create(), это сохраняет токен в моей базе данных, но вызывает .is_valid() возврат False, потому что мой сериализатор (ModelSerializer) основан на AuthToken, у которого дайджест имеет первичный ключ.

class AuthTokenResponseSerializer(serializers.ModelSerializer):
    user_id = serializers.PrimaryKeyRelatedField(
        queryset=User.objects.all(),
    )

    class Meta:
        model = AuthToken
        fields = ["digest", "token_key", "user_id", "created", "expiry"]

Обходной путь, о котором я думал, заключается в создании экземпляра AuthToken и сохранении его непосредственно перед отправкой ответа. Если это невозможно, я рассматривал возможность форка проекта и изменения кода

Вернуться на верх