Я занимаюсь разработкой веб-сайта на 2 серверах: Django (сзади), ReactJS (впереди);(Для удобства я изменил некоторые заголовки на абстрактные имена)
Модель:
class Model(model.Model):
attr1 = models.CharField(max_length=500)
attr1 = models.CharField(max_length=500)
....
**author = models.ForeignKey(UserModel, on_delete=models.CASCADE)**
Пользовательский вид создания:
class ModelCreateAPI(APIView):
def post(self, request):
serializer = serializers.ModelSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
model_saved = serializer.save()
return Response({"success": "Model created successfully"})
Сериализатор:
class ModelSerializer(serializers.ModelSerializer):
class Meta:
model = Model
fields = '__all__'
В моем приложении React есть форма, которая отправляет HTTP-запрос, включая «токен пользователя», который хранится в localStorage.Однако «автор» модели должен быть целым числом, представляющим pk.Мне удалось преобразовать токен в pk:
>>> from rest_framework.authtoken.models import Token
>>> Token.objects.get(key='token').user_id
Это эффективный способ выполнения этой операции?Каковы ваши предложения?Как я могу реализовать HTTP POST-запрос таким образом, чтобы он сохранял модель с правильным author_id?