django - 如何在 Django Tables2 的列中自定义相关对象的显示文本?
问题描述
我正在使用 Django Tables 2 显示对象列表中的一些信息,包括具有相关对象的列。我正在尝试更改显示相关对象的列中显示的文本。
我的对象是:
工作
class Job(StatusModel):
'''
Model for jobs
'''
STATUS = statuses.JOB_STATUS
start_time = models.DateTimeField(_('time'), default=timezone.now)
pickup_address = models.TextField()
...
destination_address = models.TextField()
...
drivers = models.ManyToManyField(
'Drivers.Driver',
blank=True,
)
...
class Meta:
verbose_name = _('job')
verbose_name_plural = _('jobs')
ordering = ('start_time',)
def __str__(self):
return self.start_time.strftime('%d/%m/%y %H:%M') + ' from ' + self.pickup_address
def get_absolute_url(self):
return reverse('job_view', args=[str(self.id)])
...
司机
class Driver(StatusModel):
...
current_job = models.ForeignKey(
Job,
on_delete=models.CASCADE,
blank=True,
null=True,
verbose_name=_('Current Job'),
related_name='current_job'
)
...
def __str__(self):
return self.user.get_full_name()
...
我的桌子:
class DriverStatusListTable(tables.Table):
user = tables.Column(linkify=True, verbose_name=_('Driver'))
...
current_job = tables.Column(linkify=True)
class Meta:
model = Driver
...
我希望“current_job”列显示与返回__str__
的 Job 对象表示不同的文本 - 即:
Job.start_time.strftime('%H:%M') + ' to ' + Job.destination_address,
但我无法弄清楚如何做到这一点,而不更改__str__
Job 对象上的方法。
有任何想法吗?
解决方案
编写一个Table.render_foo
自定义值输出。
例子:
class DriverStatusListTable(tables.Table):
user = tables.Column(linkify=True, verbose_name=_('Driver'))
current_job = tables.Column(linkify=True)
class Meta:
model = Driver
def render_current_job(self, value):
return "Use 'value' parameter here and return useful resposne"
推荐阅读
- java - 创建文件时,空间被文件路径中的 %20 替换,文件在新位置创建
- excel - Mac OS Excel Office 365:用于复制/删除一行并将其粘贴到另一张工作表的 VBA
- facebook-javascript-sdk - Facebook登录弹出关闭按钮事件
- google-apps-script - Google calendar sync with google spreadsheet
- ios - Static table cells with detail
- javascript - SetTimeout 多次调用函数如何避免它
- windows - TTaskBar:将 ProgressState 设置为“Indeterminate”无法按预期工作
- javascript - 我的 for-loop 得到了更多的字符,它没有通过我的判断
- php - CodeIgniter 2 - 无法上传 .docx 文件
- c++ - C++ 中的引用和指针类型转换