Задача: передать на django-piston
POST
и с ним FILES
.
есть такой метод в хэндлере PISTON
'a:
def create(self, request):
if 'body' in request.POST and 'shot' in request.POST and 'user' in request.POST:
body = request.POST['body']
shot = Shot.objects.get(pk = request.POST['shot'])
user = User.objects.get(username = request.POST['user'])
parent = None
data = None
if 'parent_note' in request.POST:
parent = Shot.objects.get(pk = request.POST['parent_note']).pk
if 'data' in request.FILES:
d = {'shot':shot.pk, 'user':user.pk, 'body':body, 'parent_note':parent, 'data':request.FILES['data']}
f = NoteForm(d)
if f.is_valid():# проходит! проверял
f.save()
return rc.ALL_OK
else:
return rc.BAD_REQUEST
note = Note(body = body, shot = shot, user = user, data = data, parent_note = parent)
note.save()
return rc.ALL_OK
else:
return rc.BAD_REQUEST
Валидацию формы проходит, однако не записывает файл. Другие данные ок.
Проверял что приходит в request.FILES
- пишет имя файла, значь все ок.
после валидации пробовал вывести f.cleaned_data['data']
- пишет None
:((
форма - самая простая ModelForm