summaryrefslogtreecommitdiff
path: root/tests/admin_ordering/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_ordering/models.py')
-rw-r--r--tests/admin_ordering/models.py35
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']