/ / Django: Größe der Floatfelder - Django, Django-Admin

Django: Größe der Floatfields - Django, Django-Admin

Ich habe ein Modell mit Feldern:

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

Ist es möglich, in der Administrationsoberfläche "PLM" anzuzeigen, dessen Größe reduziert würde, und nicht wie im vorliegenden Fall zwanzig Zahlen anzuzeigen?

Antworten:

0 für die Antwort № 1

Wenn du nur brauche das in list_display Sie können die Berechnung im modeladmin wie in angegeben durchführen die Dokumente

Das folgende Snippet stammt aus den Dokumenten und wurde leicht an Ihr Szenario angepasst.

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"

Wenn Sie diese Berechnung häufiger benötigen, hängt sie möglicherweise eher mit dem Modell zusammen. Sie können es einfach auf Ihr Modell und verschieben list_display wird auch in diesem Fall funktionieren.

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

Beachten Sie, dass T und tr nicht definiert sind und ich sie gerade aus Ihrem obigen Kommentar übernommen habe. Natürlich obj benötigt diese Felder zur Verfügung, um richtig zu funktionieren.