2016-09-30 3 views
0

У меня есть экземпляр одной модели obj. Я хочу сериализовать его, а первичный ключ будет включен в сериализованные данные.Как сериализовать экземпляр одной модели И включить первичный ключ

  • django.core.serializers.serializer хочет QuerySet (бросает ошибку, ojb не итерацию).

  • Я просто не могу заставить django.forms.model_to_dict в том числе первичный ключ в сериализованном объекта, даже явным вызовом: model_to_dict(obj, fields=['pk']) или model_to_dict(obj, fields=['id'])

Как мне это сделать?

+0

Я очень рекомендую эту библиотеку для таких случаев: [Django REST Framework - сериализаторы] (http://www.django-rest-framework.org/api -guide/serializers /) – adgon92

+0

DRF действительно переборщил за то, что я пытаюсь сделать здесь. – Escher

ответ

0

model_to_dict не будет выгружать поля, которые имеют editable=False (так, например, первичный ключ). Можно вручную построить сериализации объектов с помощью:

{field.name: field.value_from_object(obj) for field in obj._meta.fields} 
Смежные вопросы