2017-01-23 1 views
1

django ver 1.10Как проверить list_display, если нет значения, чтобы показать - в django admin?

Как я могу условно проверить, является ли переменная пустой и показывать «-»?

если get_followers то есть и/или get_following не установлены, дисплей "-"

@admin.register(Application) 
class ApplicationAdmin(admin.ModelAdmin): 

    list_display = [ 
     'name', 
     'get_following', 
     'get_followers', 
     'get_friends', 
     'manager', 
     ] 

ответ

1

Вот документация list_display: https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display

Вы можете использовать методы для этого. Например:

class Application(models.Model): 
    name = models.CharField(max_length=100) 
    following = ... 
    followers = ... 
    friends = ... 

    def get_following(self): 
     if not self.following: 
      return "-" 
     return self.following 

и в вашем admin.py вы просто поставить имя метода

@admin.register(Application) 
class ApplicationAdmin(admin.ModelAdmin): 

    list_display = [ 
     'name', 
     'get_following', 
     ... 
     ] 
+0

отлично работает. Единственное, что я получаю ]>. Не знаете, как избавиться от лишних слов, таких как набор запросов. Кажется, я чего-то не хватает. Но ваши решения работают отлично. – Stryker

+0

@ Stryker, если вы покажете мне свой класс модели приложений, я могу вам помочь. – FACode

+0

Вот он, если вы можете добраться до него. https://gist.github.com/dariushazimi/e00375174f99dd763bf2012e00a35e92 – Stryker

Смежные вопросы