如何自定义Django表2中列中相关对象的显示文本?
我使用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
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'参数并返回有用的响应”