如何自定义Django表2中列中相关对象的显示文本?

如何自定义Django表2中列中相关对象的显示文本?,django,django-tables2,Django,Django Tables2,我使用Django表2来显示对象列表中的一些信息,包括一个包含相关对象的列。 我正在尝试更改显示相关对象的列中显示的文本 我的目标是: 工作 class Job(StatusModel): ''' Model for jobs ''' STATUS = statuses.JOB_STATUS start_time = models.DateTimeField(_('time'), default=timezone.now) pickup_add

我使用Django表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”列显示与返回的作业对象表示形式不同的文本,即:
Job.start\u time.strftime(“%H:%M”)+”到“+Job.destination\u地址,
但是如果不更改Job对象上的
\uuu str\uu
方法,我就无法解决如何做到这一点

有什么想法吗?

写一篇文章来定制价值输出。

示例:


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"

类DriversStatusListTable(tables.Table):
user=tables.Column(linkify=True,verbose\u name=(驱动程序))
当前作业=表.列(linkify=True)
类元:
型号=驱动器
def render_当前_作业(自身,值):
返回“此处使用'value'参数并返回有用的响应”