2016-09-30 2 views
0

Ich habe eine einzige Modellinstanz obj. Ich möchte es serialisieren und den Primärschlüssel in die serialisierten Daten aufnehmen.Wie man eine einzelne Modellinstanz serialisiert und den Primärschlüssel einfügt

  • django.core.serializers.serializer will ein queryset ( wirft einen Fehler, dass ojb nicht iterable ist).

  • Ich kann einfach nicht zwingen django.forms.model_to_dict in den Primärschlüssel in der serialisierte Objekt einschließlich, auch explizit aufrufen: model_to_dict(obj, fields=['pk']) oder model_to_dict(obj, fields=['id'])

Wie kann ich das tun?

+0

Ich würde diese Bibliothek für solche Fälle empfehlen: [Django REST-Framework - Serialisierer] (http://www.django-rest-framework.org/api -guide/serializer /) – adgon92

+0

DRF ist wirklich übertrieben für das, was ich hier versuche. – Escher

Antwort

0

model_to_dict werden Felder nicht ablegen, die editable=False haben (also beispielsweise der Primärschlüssel). Es ist möglich, manuell die Objektserialisierung zu konstruieren durch:

{field.name: field.value_from_object(obj) for field in obj._meta.fields} 
Verwandte Themen