我有这个模型结构。(我使用的是Django 1.7)
class Event(models.Model):
publicID = models.CharField(max_length=128)
class Origin(models.Model):
publicID = models.CharField(max_length=128)
event = models.ForeignKey('Event', related_name='origin')
time = models.ForeignKey(TimeQuantity)
class TimeQuantity(models.Model):
value = models.DateTimeField(blank=False, null=False)
我需要使用django_tables2创建一个事件表,我正在尝试用这种方式来显示起始时间,但我没有得到
class EventsTable(tables.Table):
time = tables.DateTimeColumn(accessor='origin.time.value')
class Meta:
model = Event
fields = ('time')
我不确定访问者,因为我可以有许多向后关系
感谢
实际上,在这里我看到一个Event
对象可以与多个Origin
对象相关,并且每个对象都有一个Time
对象。我不知道你是想要一个对象还是所有对象,但对于所有对象,你可以这样尝试:
class Event(models.Model):
publicID = models.CharField(max_length=128)
@property
def time_data(self):
origins= self.origin.all()
return ' '.join([ str(x.time.value) for x in origins])
class EventsTable(tables.Table):
time = tables.Column(accessor='time_data')
class Meta:
model = Event
fields = ('time')