2010-12-31 2 views
3

Я выяснил, как получить информацию о UserProfile, чтобы появиться в моем админ-поле, благодаря некоторой помощи от вас, ребята. Теперь я хочу придумать способ правильно отсортировать эти поля. Я рядом.Django - сортировать по полю userprofile в admin

class EmployerProfileAdmin(UserAdmin): 
    inlines = [EmployerProfileInline, ] 
    def company(self): 
     return self.get_profile().company 
    company.admin_order_field = 'employerprofile' 
    list_display = ('username','first_name','last_name',company,'email','password',) 

Это позволило мне это отсортировать поле компании из моего UserProfile (EmployerProfile), но я должен отсортировать его по полю в Пользователя. Пользователь имеет «joberprofile», но это целый объект. Как django умеет сортировать по этому полю? Это что-то, что я могу перезаписать в классе EmployerProfile?

Спасибо!

+0

Что именно вы пытаетесь сделать заказ? Код для другой модели поможет. –

ответ

1

Как Хонза сказал, что вы пытаетесь заказать?

В общем, порядок на странице списка изменений администратора будет следовать порядку по умолчанию модели или может быть указан ModelAdmin.ordering в виде списка или кортежа.

1

Возможно, вы могли бы попытаться использовать подход model__field? Как другие говорят, что мы не знаем всю проблему, но

class Meta: 
    ordering = [ "user__fieldname" ] 

может работать (не проверено). Если у вас есть поле пользователя, которое является ForeignKey и имя поля присутствует в иностранной модели.

Так что-то вроде:

class User(object): 
    fieldname = models.CharField(max_length = 255) 

class Profile(object) 
    class Meta: 
     ordering = [ "user__fieldname" ] 
    user = models.ForeignKey(User) 
Смежные вопросы