Django字段具有模型级的价值

时间:2015-01-09 18:54:23

标签: django django-models

所以我有两个模型TransactionUpdate,它们记录了一些对象的事务和更新。然后我想要一个表Timeline,它基本上记录了pktransactionupdate的{​​{1}}值。所以我想象这样一个time_updated

Timeline

我想要实现的只是简单,只是为了保留所有其他实际有意义的记录的按时间顺序记录。我当然可以查询两个模型(class Timeline model = <taking value of type of model: Transaction or Update, etc.> identifing_num = models.CharField(...) time_updated = models.DatetimeField(...) Transaction),执行Update,并获得按时间排序的mergesort,但只是好奇这个{{1}事情可以写下来。

1 个答案:

答案 0 :(得分:0)

您可以使用GenericForeignKey

或者使用Transaction将两个ForeignKeys添加到Updatenull=True。可以通过属性访问具体模型:

class TimeLine(models.Model):

    transaction = models.ForeignKey(Transaction, null=True)
    update = models.ForeignKey(Update, null=True)
    identifing_num = models.CharField(...)
    time_updated = models.DatetimeField(...)

    @property
    def model(self):
        return self.transaction or self.update