Create the initial serializer
parent
70095854b0
commit
6b2bc7115c
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
from reversion.models import Version
|
||||||
|
|
||||||
|
|
||||||
class PickleField(serializers.WritableField):
|
class PickleField(serializers.WritableField):
|
||||||
"""
|
"""
|
||||||
|
@ -12,3 +14,36 @@ class PickleField(serializers.WritableField):
|
||||||
|
|
||||||
def from_native(self, data):
|
def from_native(self, data):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
class VersionSerializer(serializers.ModelSerializer):
|
||||||
|
created_date = serializers.SerializerMethodField("get_created_date")
|
||||||
|
content_type = serializers.SerializerMethodField("get_content_type")
|
||||||
|
object_id = serializers.SerializerMethodField("get_object_id")
|
||||||
|
user = serializers.SerializerMethodField("get_user")
|
||||||
|
comment = serializers.SerializerMethodField("get_comment")
|
||||||
|
fields = serializers.SerializerMethodField("get_object_fields")
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Version
|
||||||
|
fields = ("id", "created_date", "content_type", "object_id", "user", "comment",
|
||||||
|
"fields")
|
||||||
|
read_only = fields
|
||||||
|
|
||||||
|
def get_created_date(self, obj):
|
||||||
|
return obj.revision.date_created
|
||||||
|
|
||||||
|
def get_content_type(self, obj):
|
||||||
|
return obj.content_type.model
|
||||||
|
|
||||||
|
def get_object_id(self, obj):
|
||||||
|
return obj.object_id_int
|
||||||
|
|
||||||
|
def get_object_fields(self, obj):
|
||||||
|
return obj.field_dict
|
||||||
|
|
||||||
|
def get_user(self, obj):
|
||||||
|
return obj.revision.user.id if obj.revision.user else None
|
||||||
|
|
||||||
|
def get_comment(self, obj):
|
||||||
|
return obj.revision.comment
|
||||||
|
|
Loading…
Reference in New Issue