1

Django/pyAMF によって返される必要がある単純な python メソッドがありますが、代わりに HTTP ステータス 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

理由はありますか?

4

2 に答える 2

1

ゲートウェイでロガーを設定します。例:

import logging

from pyamf.remoting.gateway.django import DjangoGateway

services = {}

gw = DjangoGateway(services, logger=logging)

これは、問題の根本に到達するのに役立ちます。

于 2010-02-23T01:53:14.880 に答える
0

Django オブジェクトの pyAMF シリアライザーに問題があるようです。

「model.object.filter」では機能しますが、「.create」または「.get」では機能しません。

Django オブジェクトの代わりに「プリミティブ」を使用すると、問題を回避できます。

 return { 'grupo': {"id": g.id},
             'membros' : None,
             'reponsavel' : None
        }
于 2010-02-24T02:55:03.120 に答える