2010-02-23 2 views
2

헤이, 시리얼 내가 오류JSON 시리얼 라이저는

'dict' object has no attribute '_meta' 

모든 아이디어를 얻고 JSON 객체

make = Make.objects.filter(slug__exact=make) 
    models = Model.objects.filter(make=make).values('slug','name') 

    json_models = serializers.get_serializer("json")() 
    json_models.serialize(models) 

    return HttpResponse(json_models.getvalue()) 

을 반환하지 않습니다 장고에서 작동하지?

답변

4

다른 답변 힌트로, .values(...)은 목록을 반환하고 serializers은 쿼리 셋용입니다. 당신은 여전히 ​​매우 간단 원시 SimpleJSON 필요없이이 작업을 수행 할 수 있습니다 그러나 : 우리는 기본적으로 필드 제한 대신을하고있는 검색어 세트를시키는 작업을 수행 할 serializer를 이야기하고

queryset = Model.objects.filter(make__slug__exact=make) 
return serializers.serialize("json", queryset, fields=('slug', 'name')) 

. 쿼리를 한 줄로 줄이기 위해 몇 가지 바로 가기를 사용했지만 그게 당신에게 달린 것입니다.

2

시리얼 라이저는 QuerySet 인스턴스에서 사용하기위한 것입니다. 일반적인 파이썬 구조를 가지고 있다면 django.utils.simplejson.dumps()을 사용하십시오.

관련 문제