我正在开发一个基于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 APP上,有一种形式发送HTTP请求,包括“用户令牌”,该请求存储在localStorage中。但是,模型的“作者”应为代表pk的整数。我设法将令牌转换为pk:
>>> from rest_framework.authtoken.models import Token
>>> Token.objects.get(key='token').user_id
这是执行此操作的有效方法吗? 您有什么建议? 如何通过以正确的author_id保存模型的方式实现HTTP POST请求?