У меня есть проект Django Rest Framework.Я пытаюсь переопределить метод create, чтобы, если в URL были переданы определенные параметры или аргументы, он переопределял некоторую информацию по умолчанию, передаваемую в форме.
Я делаю это, создавая данныеобъект, который будет использоваться для создания нового объекта.Прямо сейчас я хватаю пользователя с помощью request.user
, но он выдаёт мне следующую ошибку:
TypeError at /api/v2/preferences/namespace1/
'User' object is not subscriptable
, и я не уверен, как это исправить.
Вот мой код для переопределения метода создания набора представления режима:
@permission_classes((IsAuthenticated))
def create(self, request, *args, **kwargs):
print(request)
namespace = self.kwargs.get('namespace', None)
path = self.kwargs.get('path', None)
if namespace is None and path is None:
return super().create(request)
if namespace and path is None:
data = {
"person":self.request.user,
'version':request.POST['version'],
'namespace':namespace,
'path':request.POST['path'],
'value':request.POST['value'],
'user_id':request.user['id'],
}
return super().create(data)
if namespace and path:
data = {
"person":self.request.user,
'version':request.POST['version'],
'namespace':namespace,
'path':path,
'value':request.POST['value'],
'user_id':request.user['id'],
}
return super().create(data)