如何序列化单个模型实例并包含主键

时间:2016-09-30 20:50:50

标签: python django serialization

我有一个模型实例obj。我想序列化它,并将主键包含在序列化数据中。

  • django.core.serializers.serializer想要一个查询集(抛出一个 ojb不可迭代的错误。

  • 我根本无法强迫 django.forms.model_to_dict包含主键 序列化对象,甚至明确调用:model_to_dict(obj, fields=['pk'])model_to_dict(obj, fields=['id'])

我该怎么做?

1 个答案:

答案 0 :(得分:1)

model_to_dict不会转储具有editable=False的字段(例如,主键)。可以通过以下方式手动构造对象序列化:

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