diff options
Diffstat (limited to 'tests/admin_ordering/models.py')
| -rw-r--r-- | tests/admin_ordering/models.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/admin_ordering/models.py b/tests/admin_ordering/models.py new file mode 100644 index 0000000000..195b3c3694 --- /dev/null +++ b/tests/admin_ordering/models.py @@ -0,0 +1,35 @@ +# coding: utf-8 +from django.contrib import admin +from django.db import models + + +class Band(models.Model): + name = models.CharField(max_length=100) + bio = models.TextField() + rank = models.IntegerField() + + class Meta: + ordering = ('name',) + +class Song(models.Model): + band = models.ForeignKey(Band) + name = models.CharField(max_length=100) + duration = models.IntegerField() + + class Meta: + ordering = ('name',) + +class SongInlineDefaultOrdering(admin.StackedInline): + model = Song + +class SongInlineNewOrdering(admin.StackedInline): + model = Song + ordering = ('duration', ) + +class DynOrderingBandAdmin(admin.ModelAdmin): + + def get_ordering(self, request): + if request.user.is_superuser: + return ['rank'] + else: + return ['name'] |
