Django admin как показать валютные числа в формате с разделителями-запятыми
В моих моделях я имею следующее:
class Example(Basemodel):
price = models.IntegerField(default=0)
и в моей админке у меня вот это:
@admin.register(Example)
class ExampleAdmin(admin.ModelAdmin):
list_display = ('price',)
Я хочу, чтобы поле цены отображалось в формате с разделителями-запятыми вместо типичного целочисленного формата, и я хочу сделать это на стороне бэкенда. Например: 333222111 должно быть 333,222,111. Кто-нибудь может предложить мне решение?
Вместо этого вы можете работать со свойством, например:
from django.contrib import admin
class Example(Basemodel):
price = models.IntegerField(default=0)
@property
@admin.display(description='price', ordering='price')
def price_formatted(self):
return f'{self.price:,}'
и использовать это свойство:
@admin.register(Example)
class ExampleAdmin(admin.ModelAdmin):
list_display = ('price_formatted',)
попробуйте тысячный сеператор в вашем settings.py
USE_THOUSAND_SEPARATOR = True
В качестве альтернативы можно использовать intercoma для преобразования целого числа в строку, содержащую запятые через каждые три цифры