/ / Django: rozmiar floatfields - django, django-admin

Django: rozmiar floatfields - django, django-admin

Mam model z polami:

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

Czy w interfejsie administracyjnym można wyświetlić „PLM”, którego rozmiar zostałby zmniejszony, a nie jak w niniejszej sprawie, aby wyświetlić dwadzieścia cyfr…?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli ty tylko potrzebuję tego w list_display możesz wykonać obliczenia w modeluadmin, jak określono w doktorzy

Poniższy fragment pochodzi z dokumentów i został lekko dostosowany do Twojego scenariusza.

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"

Jeśli potrzebujesz tego obliczenia częściej, może on być bardziej związany z modelem. Możesz łatwo przenieść go do swojego modelu i list_display będzie również działać w tym przypadku.

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",)

Zauważ, że T i tr nie są zdefiniowane i właśnie wziąłem je z twojego komentarza powyżej. Oczywiście obj potrzebuje tych pól dostępnych do poprawnego działania.