2011-01-27 3 views
0

의 검색어에서 실행 한 후 장고 JSON에 추가 :serializers.serialze 내가 다음의 검색어를 사용하여 JSON 직렬화의 검색어를 반환하고

cus_id 그래서 내가 검색 오전 회사 테이블에 FK 가리키는입니다
genome_parents = Genome.objects.filter(genes=cus_id) 

현재의 회사와 관련된 모든 게놈 개체.

genome_parents = serializers.serialize('json', genome_parents, use_natural_keys=True) 

그러나, 내 외래 키 중 하나에 대한 자연 키,하지만 (동일 모델 모두) 서로에 대한 ID를 필요 양식이 통해 게시 한 후 나는이 데이터를 반환합니다. 따라서 한 필드는 멋지게 표시되지만 다른 필드는 그렇지 않습니다. 그래서 이것은 하나의 작은 것을 제외하고는 필요한 것입니다, 나는 FK 양식 필드를 미리 채울 수 있도록 일반 ID 번호가 필요합니다. 내가 가진

한 생각은

genome_parents.append({'id':gene.id}) 

같은 것을 추가했다 그러나 그것은 분명 작동하지 않습니다. 어쨌든 JSON을 확장하여 하나 이상의 작은 데이터를 포함 할 수 있습니까 (또는 JSON의 형식을 변경하는 방법)? 그렉

답변

3

그냥 작업의 순서를 전환합니다. gene 개체 전체를 목록에 넣으면 제대로 직렬화됩니다.

genome_parents = list(Genome.objects.filter(genes=cus_id)) 
genome_parents.append(gene) 

json_genome_parents = serializers.serialize('json', genome_parents, use_natural_keys=True) 
+0

감사합니다. 이것은 내가 필요한 것입니다. list()가 키입니다. – geraldcor

+0

+1 for use_natural_keys = True – Ski

관련 문제