mirror of
https://github.com/django/django.git
synced 2024-11-29 22:56:46 +01:00
d9330d5be2
Thanks Gary Wilson for the report and Juan Pedro Fisanotti, Carlos Matías de la Torre for the fix.
37 lines
887 B
Python
37 lines
887 B
Python
# 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()
|
|
other_interpreters = models.ManyToManyField(Band, related_name='covers')
|
|
|
|
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']
|