Ответ 1
Вы можете использовать фильтр floatformat с отрицательным аргументом!
В шаблоне Django существует способ преобразования float в целое число тогда и только тогда, когда оно заканчивается на .0?
У меня есть поле для популяции, которое является плавающей точкой в моей базе данных. Иногда это "действительно" float, заканчивающийся на .5, но чаще он заканчивается на .0, потому что есть целая группа людей, и в таких случаях я бы просто показал целое число.
{{ place.population }} people
Любые идеи для умного способа обойти это в Django?
Вы можете использовать фильтр floatformat с отрицательным аргументом!
Вы можете написать тег шаблона, но я бы рекомендовал сделать этот метод на вашей модели.
class Country(models.Model):
...
def get_population(self):
if self.population == int(self.population):
self.population = int(self.population)
return self.population
Затем в вашем шаблоне вместо
{{ obj.population }}
Вы использовали бы это:
{{ obj.get_population }}