class CountrySerializer(HyperlinkedModelSerializer):
    """
    HyperlinkedModelSerializer for Country.
    """
    url = relations.HyperlinkedIdentityField(
        view_name='cities-light-api-country-detail')

    class Meta:
        model = Country
Beispiel #2
0
class RegionSerializer(HyperlinkedModelSerializer):
    """
    HyperlinkedModelSerializer for Region.
    """
    url = relations.HyperlinkedIdentityField(
        view_name='cities-light-api-region-detail')
    country = relations.HyperlinkedRelatedField(
        view_name='cities-light-api-country-detail')

    class Meta:
        model = Region
Beispiel #3
0
    def field_to_native(self, obj, field_name):
        result = {}
        for link in self.data:
            label = link['label']
            kwargs = copy.copy(link)
            del kwargs['label']

            field = relations.HyperlinkedIdentityField(**kwargs)
            field.initialize(self.parent, label)
            result[label] = field.field_to_native(obj, label)
        return result
Beispiel #4
0
class CountrySerializer(HyperlinkedModelSerializer):
    """
    HyperlinkedModelSerializer for Country.
    """
    url = relations.HyperlinkedIdentityField(
        view_name='cities-light-api-country-detail')
    id = IntegerField(read_only=True)

    class Meta:
        model = Country
        fields = '__all__'
Beispiel #5
0
class RegionSerializer(HyperlinkedModelSerializer):
    """
    HyperlinkedModelSerializer for Region.
    """
    url = relations.HyperlinkedIdentityField(
        view_name='cities-light-api-region-detail')
    country = relations.HyperlinkedRelatedField(
        view_name='cities-light-api-country-detail', read_only=True)
    id = IntegerField(read_only=True)

    class Meta:
        model = Region
        exclude = ('slug',)
class CitySerializer(HyperlinkedModelSerializer):
    """
    HyperlinkedModelSerializer for City.
    """
    url = relations.HyperlinkedIdentityField(
        view_name='cities-light-api-city-detail')
    country = relations.HyperlinkedRelatedField(
        view_name='cities-light-api-country-detail', read_only=True)
    region = relations.HyperlinkedRelatedField(
        view_name='cities-light-api-region-detail', read_only=True)

    class Meta:
        model = City
        exclude = ('slug', )
Beispiel #7
0
class DraftSerializer(serializers.ModelSerializer):
    """Serializer for Drafts, appropriate for list views. No files metadata."""
    class Meta:
        model = Draft
        queryset = Draft.objects.all().select_related('bundle')
        fields = ('uuid', 'url', 'bundle', 'bundle_uuid', 'name')

    url = relations.HyperlinkedIdentityField(
        lookup_field='uuid',
        view_name='api:v1:draft-detail',
    )

    bundle = relations.HyperlinkedRelatedField(
        lookup_field='uuid',
        lookup_url_kwarg='bundle_uuid',
        view_name='api:v1:bundle-detail',
        read_only=True,
    )

    bundle_uuid = relations.SlugRelatedField(
        source='bundle',
        slug_field='uuid',
        queryset=Bundle.objects.all(),
    )