我试图在request.data
的表中添加额外的字段auth_token,但它给出了错误。错误是 - data['auth_token_id'] = auth_token TypeError: list indices must be integers or slices, not str
在将数据传递到序列化程序时添加额外的上下文django api
我的代码如下:
serializers.py
class AppSerializer(serializers.ModelSerializer):
class Meta:
model = ThirdPartyApps
fields = ('app_name', 'package_name', 'auth_token_id')
views.py
@api_view(['POST'])
def add_apps(request):
data = request.data
auth_token = request.META.get('HTTP_AUTHTOKEN', '')
data['auth_token_id'] = auth_token
serializer = AppSerializer(data=data, many=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
else:
return Response(serializer.errors)
我正在寻找一种方式来传递额外的数据通过串行器。 我只想补充auth_token
到我的模型像request.data
但它给这个错误 -
data['auth_token_id'] = auth_token TypeError: list indices must be integers or slices, not str
和我将如何保存呢? –
你的答案绝对准确,但我如何将tit保存到我的表格 –
如果你想保存它,你可以创建一个模型(或使用现有的模型)并添加一个字段,可能是一个'models.CharField(max_length = 254)'然后在你的视图中或者你从中接收认证令牌的地方设置'model.auth_token_id = request.META.get('HTTP_AUTHTOKEN','')',然后'model.save()'。 – montudor