В моей таблице django есть два столбца по доллару, однако мне не нравится интервал и тот факт, что он находится рядом с предыдущим столбцом.Я также хочу добавить символ доллара.Как я могу добавить это?
Сейчас это выглядит так:
Price1Price2
345.09 154.35
Мне бы хотелось, чтобы это выглядело так:
Price1 Price2
$345.09 $154.35
Моя таблица django является базовой:
class PriceTable(tables.Table):
class Meta:
model = Price
template_name = 'django_tables2/bootstrap.html'
sequence = ('service', 'price1', 'price2')
exclude = ("comments")
attrs = {"class": "paleblue"}
Эти столбцы определены следующим образом в models.py:
price1 = models.DecimalField(max_digits=6, decimal_places=2, blank=True)
price2 = models.DecimalField(max_digits=6, decimal_places=2, blank=True)
Еще один вопрос: есть ли функция описания таблицы django-tables2 или что-то, что позволяет легко добавлять информацию о таблице, в разделестол?
Этот код основан на великолепном ответе Дэна!Он заставил его работать с данными из той же таблицы с этим кодом:
class Price1Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.price1)
Теперь я хочу столбец из другой таблицы - Служба, но это не работает:
class Price2Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.tables.Column(accessor='service.price2'))
class Meta:
model = Price
Вот модель для обслуживания, она подключается к цене через код.Строка tables.Column (acessor =) работает в классе PriceTable ().
class Service(models.Model):
serviceid = models.UUIDField(default=uuid.uuid4, help_text='Unique ID for this particular service in database')
desc_us = models.TextField(blank=True, primary_key = True)
code = models.IntegerField(default= 10000)
price2 = models.DecimalField(max_digits=8, decimal_places=2, blank=True)
class Meta:
ordering = ['serviceid']
def __str__(self):
"""String for representing the Model object."""
return self.desc_us