From 57371c596db971275bfca8c3d53a4184eb9345c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20Cz=C3=A9m=C3=A1n?= <trabarni@gmail.com> Date: Wed, 14 Feb 2018 22:16:06 +0100 Subject: [PATCH] Change KSZKevent to Event and add inital import/export support --- src/stats/admin.py | 8 +++-- .../migrations/0005_auto_20180214_2206.py | 30 +++++++++++++++++++ src/stats/models.py | 6 +++- src/stats/serializers.py | 4 +-- src/stats/urls.py | 2 +- src/stats/views.py | 6 ++-- 6 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 src/stats/migrations/0005_auto_20180214_2206.py diff --git a/src/stats/admin.py b/src/stats/admin.py index a551546..b15fe68 100644 --- a/src/stats/admin.py +++ b/src/stats/admin.py @@ -1,5 +1,9 @@ from django.contrib import admin -from .models import KszkEvent +from import_export.admin import ImportExportModelAdmin +from . import models -admin.site.register(KszkEvent) + +@admin.register(models.Event) +class EventAdmin(ImportExportModelAdmin): + horizontal_filter = ('visitors', ) diff --git a/src/stats/migrations/0005_auto_20180214_2206.py b/src/stats/migrations/0005_auto_20180214_2206.py new file mode 100644 index 0000000..f4a0033 --- /dev/null +++ b/src/stats/migrations/0005_auto_20180214_2206.py @@ -0,0 +1,30 @@ +# Generated by Django 2.0.1 on 2018-02-14 21:06 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0017_auto_20180205_2004'), + ('stats', '0004_remove_kszkevent_num_of_pers'), + ] + + operations = [ + migrations.CreateModel( + name='Event', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('date', models.DateTimeField()), + ('visitors', models.ManyToManyField(related_name='visitor', to='account.Profile')), + ], + ), + migrations.RemoveField( + model_name='kszkevent', + name='visitors', + ), + migrations.DeleteModel( + name='KszkEvent', + ), + ] diff --git a/src/stats/models.py b/src/stats/models.py index b3cea98..854def4 100644 --- a/src/stats/models.py +++ b/src/stats/models.py @@ -4,10 +4,14 @@ from django.utils import timezone from django.core.exceptions import ValidationError -class KszkEvent(models.Model): +class Event(models.Model): + name = models.CharField(max_length=255) date = models.DateTimeField(null=False) visitors = models.ManyToManyField(Profile, related_name='visitor') def clean(self): if self.date > timezone.now(): raise ValidationError('Invalid date') + + def __str__(self): + return self.name diff --git a/src/stats/serializers.py b/src/stats/serializers.py index 8356998..ab02bee 100644 --- a/src/stats/serializers.py +++ b/src/stats/serializers.py @@ -2,7 +2,7 @@ from rest_framework import serializers from . import models -class KszkEventSerializer(serializers.ModelSerializer): +class EventSerializer(serializers.ModelSerializer): class Meta: - model = models.KszkEvent + model = models.Event fields = ('date', 'visitors') diff --git a/src/stats/urls.py b/src/stats/urls.py index ef0f4e2..8f270ce 100644 --- a/src/stats/urls.py +++ b/src/stats/urls.py @@ -3,6 +3,6 @@ from rest_framework import routers from . import views router = routers.DefaultRouter() -router.register(r'events', views.KszkEventViewSet) +router.register(r'events', views.EventViewSet) urlpatterns = router.urls diff --git a/src/stats/views.py b/src/stats/views.py index c7ed3ec..f2c91f1 100644 --- a/src/stats/views.py +++ b/src/stats/views.py @@ -4,6 +4,6 @@ from . import models from . import serializers -class KszkEventViewSet(viewsets.ModelViewSet): - serializer_class = serializers.KszkEventSerializer - queryset = models.KszkEvent.objects.all() +class EventViewSet(viewsets.ModelViewSet): + serializer_class = serializers.EventSerializer + queryset = models.Event.objects.all() -- GitLab