/ / Django: розмір поплавкових полів - django, django-admin

Django: розмір floatfields - django, django-admin

У мене є модель з полями:

 PLM = models.FloatField(_("LMP"),blank=True, null=False,  default=1)

Чи можливо в інтерфейсі адміністрування відображати "PLM", розмір якого зменшився б, а не як у цьому випадку відображати двадцять цифр ..?

Відповіді:

0 для відповіді № 1

Якщо ви тільки це потрібно в list_display ви можете зробити розрахунок у modeladmin, як зазначено в документи

Наступний фрагмент взято з документів і трохи відрегульований відповідно до вашого сценарію.

class FooAdmin(admin.ModelAdmin):
list_display = ("calculation_plm",)

def calculation_plm(self, obj):
return (obj.T / 1000) * (20  + math.log(obj.tr))
calculated_plm.short_description = "PLM caluculation"

Якщо вам потрібен цей розрахунок частіше, він може бути більше пов'язаний з моделлю. Ви можете легко перемістити його до своєї моделі та list_display також буде працювати в цьому випадку.

class Foo(models.Model):
PLM = models.FloatField(_("LMP"),blank=True, null=False,  default=1)

def calculation_plm(self, obj):
return (obj.T / 1000) * (20  + math.log(obj.tr))
calculated_plm.short_description = "PLM caluculation"

class FooAdmin(admin.ModelAdmin):
list_display = ("calculation_plm",)

Зауважте, що T і tr не визначені, і я просто взяв їх із вашого коментаря вище. Звичайно obj потрібні ці поля, доступні для належної роботи.