class SessionSerializer(serializers.ModelSerializer): speakers = serializers.ManyPrimaryKeyRelatedField() ratings = serializers.ManyPrimaryKeyRelatedField() tags = serializers.ManyPrimaryKeyRelatedField() class Meta: model = Session fields = ('id', 'name', 'room', 'desc', 'speakers', 'ratings', 'tags')
class SpeakerSerializer(serializers.ModelSerializer): personas = serializers.ManyPrimaryKeyRelatedField() class Meta: model = Speaker fields = ('id', 'name', 'location', 'session', 'association', 'personas', 'zidentity')
class GroupSerializer(serializers.ModelSerializer): permissions = serializers.ManySlugRelatedField( slug_field='codename', queryset=Permission.objects.all()) users = serializers.ManyPrimaryKeyRelatedField('user_set') url = serializers.HyperlinkedIdentityField(view_name='group-detail') class Meta(object): model = Group
class UserSerializer(serializers.ModelSerializer): id = serializers.Field() sightings = serializers.ManyPrimaryKeyRelatedField(read_only=True) region = serializers.SerializerMethodField('get_region_id') def get_region_id(self, obj): profile = obj.get_profile() if not profile or not profile.region: return None return profile.region.id class Meta: model = User fields = ( 'id', 'username', 'email', 'first_name', 'last_name', 'sightings', 'region', )
class ForeignKeyTargetSerializer(serializers.ModelSerializer): sources = serializers.ManyPrimaryKeyRelatedField(read_only=True) class Meta: model = ForeignKeyTarget
class ManyToManyTargetSerializer(serializers.ModelSerializer): sources = serializers.ManyPrimaryKeyRelatedField() class Meta: model = ManyToManyTarget
class CompanySerializer(serializers.ModelSerializer): sponsors = serializers.ManyPrimaryKeyRelatedField() class Meta: model = Company fields = ('id', 'name', 'sponsors')
class AssociationSerializer(serializers.ModelSerializer): speakers = serializers.ManyPrimaryKeyRelatedField() class Meta: model = Association fields = ('id', 'name', 'speakers')
class UserSerializer(serializers.ModelSerializer): aliases = serializers.ManyPrimaryKeyRelatedField() class Meta: model = User fields = ('id', 'username', 'aliases')
class ManyToManyTargetSerializer(serializers.ModelSerializer): sources = serializers.ManyPrimaryKeyRelatedField(queryset=ManyToManySource.objects.all()) class Meta: model = ManyToManyTarget
class ClassASerializer(serializers.ModelSerializer): childs = serializers.ManyPrimaryKeyRelatedField(source='childs') class Meta: model = ClassA