0

'你好,所有。我正在尝试基于另一个模型在 Django 中创建一个模型 - 但不是子类化或与另一个模型有数据库关系。我的原始模型看起来像这样:它存储一些带有日期/时间戳的数据。

class Entry(Model):  
    data1 = FloatField()  
    data2 = FloatField()  
    entered = DateTimeField()  

我还想使用几乎相同的模型每天汇总每个条目的数字数据。对于 DailyAvg() 变体,我们将使用 DateField() 而不是 DateTimeField(),因为每天只有一个平均值:

class EntryDailyAvg(Model):  
    data1 = FloatField()  
    data2 = FloatField()  
    entered = DateField()  

因此问题是:将有很多这些数据类需要存储在数据库中的相应日平均模型,并且定义几乎相同。我可以为每个数据类重新输入一个等效的 DailyAvg() 类的定义,但这似乎违反了 DRY,而且也是一个巨大的痛苦。我也不能有EntryDailyAvg 子类Entry,因为每次我保存一个新的EntryDailyAvg 时,Django 都会保存一个新的Entry 库。

有没有办法自动(-magically?)生成 DailyAvg() 类?

提前致谢!

4

1 回答 1

2

如果您创建一个包含所有 data1 内容的 AbstractEntry 类,然后创建两个子类:Entry 和 EntryDailyAvg。

查看文档以获取有关如何告诉 django 一个类是抽象的信息。

于 2009-08-17T03:04:09.167 回答