我有这种模型结构。 (我正在使用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')
我不确定访问者,因为我可以有许多向后关系
由于
答案 0 :(得分:1)
实际上,在这里我看到一个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')