/ / Django: tamanho dos campos flutuantes - django, django-admin

Django: tamanho dos campos de float - django, django-admin

Eu tenho um modelo com campos:

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

É possível na interface de administração exibir "PLM" cujo tamanho seria reduzido e não como no presente caso, exibir vinte números ..?

Respostas:

0 para resposta № 1

Se vocês preciso disso em list_display você pode fazer o cálculo no modeladmin conforme especificado em os docs

O seguinte snippet é retirado dos documentos e ligeiramente ajustado para corresponder ao seu cenário.

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"

Se você precisar desse cálculo com mais frequência, pode estar mais relacionado ao modelo. Você pode movê-lo facilmente para o seu modelo e list_display também funcionará nesse caso.

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

Observe que T e tr não estão definidos e eu apenas os tirei do seu comentário acima. Claro obj precisa desses campos disponíveis para funcionar corretamente.