Django добавляется в JSON после запуска serializers.serialze в наборе запросов - PullRequest
0 голосов
/ 28 января 2011

Я возвращаю сериализованный набор запросов JSON, используя следующий набор запросов:

genome_parents = Genome.objects.filter(genes=cus_id)

, где cus_id - это FK, указывающий на таблицу компаний, поэтому я получаю все объекты Genome, относящиеся к текущей рабочей компании.Я возвращаю эти данные после того, как форма была отправлена ​​через:

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

Однако мне нужен естественный ключ для одного из моих внешних ключей, но идентификатор для другого (оба в той же модели).Так что одно поле отображается красиво, а другое нет.Так что это делает то, что мне нужно, за исключением одной маленькой вещи, мне нужен простой идентификатор, чтобы я мог предварительно заполнить свое поле формы FK.

Одна мысль, которую я имел, состояла в том, чтобы просто добавить что-то вроде

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

но это, очевидно, не работает.Могу ли я в любом случае расширить JSON, чтобы включить еще один небольшой фрагмент данных (или изменить способ форматирования JSON)?

Грег

1 Ответ

3 голосов
/ 28 января 2011

Просто переключите порядок операций. И поместите весь объект 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...