django-rest-tools

Tools for Django Rest Framework


Keywords
django, djangorestframework, tools
License
GPL-3.0
Install
pip install django-rest-tools==1.0.1

Documentation

django-rest-tools

Build Status Coverage Status Requirements Status

Install last stable version from pypi

pip install django-rest-tools

Install development version

pip install https://github.com/quiqueporta/django-rest-tools/tarball/master

Filters

NearToPointFilter

views.py:

from django_rest_tools.filters import NearToPointFilter

class LocationsList(generics.ListAPIView):

    queryset = Location.objects.all()
    serializer_class = LocationListSerializer
    filter_backends = (NearToPointFilter,)
    point_field_filter = 'location'

We can then filter in the URL.

eg:. /location/?max_distance=40&lat=-40.4862&long=-0.39536

Fields

DateToTimeStampField

models.py:

class MyModel(models.Model):
    date = models.DateField()

serializers.py:

class MySerializer(serializers.ModelSerializer):

    date = DateToTimeStampField()

    class Meta:
        model = MyModel
        fields = ('id', 'date',)

The representation of the serializer is like this:

{
    'id': 1,
    'date': 1440626400000
}

But into the database stores '2015-08-27'

DateTimeToTimeStampField

models.py:

class MyModel(models.Model):
    date = models.DateTimeField()

serializers.py:

class MySerializer(serializers.ModelSerializer):

    date = DateTimeToTimeStampField()

    class Meta:
        model = MyModel
        fields = ('id', 'date',)

The representation of the serializer is like this:

{
    'id': 1,
    'date': 1440688376
}

But into the database stores '2015-08-27 15:12:56 UTC'