mirror of https://github.com/snachodog/mybuddy.git
Add slug field to Child.
This commit is contained in:
parent
8772f87d8a
commit
37f28c3ff7
|
@ -10,7 +10,8 @@ from core.models import (Child, DiaperChange, Feeding, Note, Sleep, Timer,
|
||||||
class ChildSerializer(serializers.HyperlinkedModelSerializer):
|
class ChildSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Child
|
model = Child
|
||||||
fields = ('first_name', 'last_name', 'birth_date')
|
fields = ('first_name', 'last_name', 'birth_date', 'slug')
|
||||||
|
lookup_field = 'slug'
|
||||||
|
|
||||||
|
|
||||||
class DiaperChangeSerializer(serializers.HyperlinkedModelSerializer):
|
class DiaperChangeSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
|
|
@ -15,9 +15,10 @@ from .serializers import (ChildSerializer, DiaperChangeSerializer,
|
||||||
class ChildViewSet(viewsets.ModelViewSet):
|
class ChildViewSet(viewsets.ModelViewSet):
|
||||||
queryset = Child.objects.all()
|
queryset = Child.objects.all()
|
||||||
serializer_class = ChildSerializer
|
serializer_class = ChildSerializer
|
||||||
|
lookup_field = 'slug'
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
params = ['first_name', 'last_name']
|
params = ['first_name', 'last_name', 'slug']
|
||||||
return filter_by_params(self.request, Child, params)
|
return filter_by_params(self.request, Child, params)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ from .models import (Child, DiaperChange, Feeding, Note, Sleep, Timer,
|
||||||
|
|
||||||
@admin.register(Child)
|
@admin.register(Child)
|
||||||
class ChildAdmin(admin.ModelAdmin):
|
class ChildAdmin(admin.ModelAdmin):
|
||||||
list_display = ('first_name', 'last_name', 'birth_date',)
|
list_display = ('first_name', 'last_name', 'birth_date', 'slug')
|
||||||
list_filter = ('last_name',)
|
list_filter = ('last_name',)
|
||||||
search_fields = ('first_name', 'last_name', 'birth_date',)
|
search_fields = ('first_name', 'last_name', 'birth_date',)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.template.defaultfilters import slugify
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from .utils import duration_string
|
from .utils import duration_string
|
||||||
|
@ -11,6 +12,7 @@ class Child(models.Model):
|
||||||
first_name = models.CharField(max_length=255)
|
first_name = models.CharField(max_length=255)
|
||||||
last_name = models.CharField(max_length=255)
|
last_name = models.CharField(max_length=255)
|
||||||
birth_date = models.DateField(blank=False, null=False)
|
birth_date = models.DateField(blank=False, null=False)
|
||||||
|
slug = models.SlugField(max_length=100, unique=True, editable=False)
|
||||||
|
|
||||||
objects = models.Manager()
|
objects = models.Manager()
|
||||||
|
|
||||||
|
@ -22,6 +24,10 @@ class Child(models.Model):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '{} {}'.format(self.first_name, self.last_name)
|
return '{} {}'.format(self.first_name, self.last_name)
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
self.slug = slugify(self)
|
||||||
|
super(Child, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class DiaperChange(models.Model):
|
class DiaperChange(models.Model):
|
||||||
child = models.ForeignKey('Child', related_name='diaper_change')
|
child = models.ForeignKey('Child', related_name='diaper_change')
|
||||||
|
|
Loading…
Reference in New Issue