Files
breccia-mapper/people/serializers.py
James Graham 7d14fed90f fix: distinguish kinds of relationship with orgs
Refactor node/edge style method to improve performance
2021-04-25 14:00:37 +01:00

54 lines
1.1 KiB
Python

"""
Serialize models to and deserialize from JSON.
"""
from rest_framework import serializers
from . import models
class PersonSerializer(serializers.ModelSerializer):
class Meta:
model = models.Person
fields = [
'pk',
'name',
]
class OrganisationSerializer(serializers.ModelSerializer):
class Meta:
model = models.Organisation
fields = [
'pk',
'name',
]
class RelationshipSerializer(serializers.ModelSerializer):
source = PersonSerializer()
target = PersonSerializer()
class Meta:
model = models.Relationship
fields = [
'pk',
'source',
'target',
]
class OrganisationRelationshipSerializer(serializers.ModelSerializer):
source = PersonSerializer()
target = OrganisationSerializer()
kind = serializers.ReadOnlyField(default='organisation-relationship')
class Meta:
model = models.OrganisationRelationship
fields = [
'pk',
'source',
'target',
'kind',
]