Неожиданный HTTP-статус 500 ответ - PullRequest
1 голос
/ 23 февраля 2010

У меня есть простой метод python, который должен быть возвращен Django / pyAMF, но вместо этого он возвращает HTTP Status 500 (хотя я и передаю метод без ошибок, и объект Grupo создается):

def newGrupo(request, igID):  
    return { 'grupo': Grupo.objects.create(ig = Ig.objects.get(pk=igID)),
             'membros' : None,
             'reponsavel' : None
        }

Самое странное, что другой вызов, который делает почти то же самое (он на самом деле возвращает список предыдущих), возвращает ok:

def listGrupos(request, igID):
    result = []
    for grupo in Grupo.objects.filter(ig=igID):
        grp = {}
        grp['grupo'] = grupo
        grp['membros'] = grupo.membro_set.filter(ativo=True)
        grp['responsavel'] = grupo.responsavel
        result.append(grp)

    return result

Есть идеи почему?

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Установите регистратор на шлюз, например ::100100

import logging

from pyamf.remoting.gateway.django import DjangoGateway

services = {}

gw = DjangoGateway(services, logger=logging)

Это должно помочь вам найти причину проблемы.

0 голосов
/ 24 февраля 2010

Похоже, проблема с сериализатором pyAMF для объектов Django.

Работает с "model.object.filter", но не с ".create" или ".get".

Использование «примитивов» вместо объектов Django позволяет избежать проблемы:

 return { 'grupo': {"id": g.id},
             'membros' : None,
             'reponsavel' : None
        }
...