Ответ Лечупа у меня не работает, я использую Django 1.11.7.Я нашел этот способ обойти.
Допустим, у меня есть 2 таблицы: Кампания и Статья , в одной кампании много статей.Я хочу показывать статьи при просмотре определенной кампании.
Таблица Статья имеет столбец с именем оценка , который является плавающей точкой.Я хочу округлить его до 2 десятичных знаков при просмотре в админке Django.
В этом примере показано, как можно создать пользовательский столбец для TabularInline в админке Django.
class Article(models.Model):
title = models.TextField(null=False)
url = models.TextField()
score = models.FloatField(null=True)
def __str__(self):
return self.title
def display_score(self):
if self.score:
return round(self.score, 2)
return self.score
display_score.short_description = 'Score'
class ArticleInline(admin.TabularInline):
model = Article
readonly_fields = ('title', 'url', 'display_score')
fields = ('title', 'url', 'display_score')
class CampaignAdmin(admin.ModelAdmin):
inlines = [ArticleInline]
admin.site.register(Campaign, CampaignAdmin)