Skip to content

Commit

Permalink
Init v0.19.3 (Optimize) Rest Framework API.
Browse files Browse the repository at this point in the history
  • Loading branch information
SRJ9 committed Dec 31, 2016
1 parent b000fdf commit 820f6a1
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 2 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Modify your settings.py
...
'django_countries',
'tabbed_admin',
'rest_framework', # since v0.19.3
'driver27'
]

Expand Down
1 change: 1 addition & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Modify your settings.py
...
'django_countries',
'tabbed_admin',
'rest_framework', # since v0.19.3
'driver27'
]

Expand Down
1 change: 1 addition & 0 deletions demo/dr27_demo/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
'django.contrib.staticfiles',
'django_countries',
'tabbed_admin',
'rest_framework',
'driver27'
]

Expand Down
35 changes: 35 additions & 0 deletions driver27/api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from .models import Competition, Season
from rest_framework import routers, serializers, viewsets
from django_countries.serializer_fields import CountryField


class SeasonSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Season
fields = ('year', 'competition', 'round', 'punctuation')


# ViewSets define the view behavior.
class SeasonViewSet(viewsets.ModelViewSet):
queryset = Season.objects.all()
serializer_class = SeasonSerializer


class CompetitionSerializer(serializers.HyperlinkedModelSerializer):
# https://github.com/SmileyChris/django-countries/issues/106
country = CountryField()

class Meta:
model = Competition
fields = ('name', 'full_name', 'country', 'slug')


# ViewSets define the view behavior.
class CompetitionViewSet(viewsets.ModelViewSet):
queryset = Competition.objects.all()
serializer_class = CompetitionSerializer

# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'competitions', CompetitionViewSet)
router.register(r'seasons', SeasonViewSet)
7 changes: 6 additions & 1 deletion driver27/urls/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
from django.conf.urls import url, include

from driver27 import views
from .. import views
from ..api import router

urlpatterns = [
url(r'^$', views.competition_view, name='competition-list'),
url(r'^api/auth/', include('rest_framework.urls')),
url(r'^api/', include(router.urls)),
url(r'^(?P<competition_slug>[-\w\d]+)$', views.competition_view, name='competition-view'),
url(r'^(?P<competition_slug>[-\w\d]+)/(?P<year>\d+)/', include('driver27.urls.season')),


]
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ django-tabbed-admin
python-slugify
tox
django-exclusivebooleanfield
djangorestframework
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

setup(
name='django-driver27',
version='0.19.2.1',
version='0.19.3x',
include_package_data=True,
packages=find_packages(),
url='https://github.com/SRJ9/django-driver27.git',
Expand Down

0 comments on commit 820f6a1

Please sign in to comment.