【问题标题】:Time Series as a Django Model时间序列作为 Django 模型
【发布时间】:2020-01-29 04:58:57
【问题描述】:

我对 Django 及其 Rest Framework 还是很陌生。我有一个输出这个熊猫数据框的api(第三方)。我知道我必须为我的模型建立多对一的关系。第一个模型只是所有股票的列表,第二个模型应该是保存价格历史的模型(由外键链接)。如何为第二个表建模来存储这些数据?

Date
2019-12-30    291.519989
2019-12-31    293.649994
2020-01-02    300.350006
2020-01-03    297.429993
2020-01-06    299.799988
2020-01-07    298.390015
2020-01-08    303.190002
2020-01-09    309.630005
2020-01-10    310.329987

【问题讨论】:

  • 我觉得三个字段就够了,fk字段到库存、时间戳和价格
  • 您的问题解决了吗?如果是这样,请consider marking the answer as acceptet 或如果您的问题尚未解决,请添加更多信息。

标签: python django pandas dataframe time-series


【解决方案1】:

假设您的第一个模型称为Stock,则第二个模型(我们称之为PriceHistory)需要与它的外键关系。为了存储您的数据,我会使用 DateFieldDecimalField 作为您给定的值。

生成的模型如下所示:

# models.py

class Stock(models.Model):
    ...


class PriceHistory(models.Model):
    stock = models.ForeignKey(
        Stock,
        on_delete=models.CASCADE,
        related_name='price_histories',
    )
    date = models.DateField()
    price = models.DecimalField(
        decimal_places=6,
        max_digits=9,
    )

如果您只希望每个datestock 有一个price,则需要为PriceHistory 添加一个unique_together-约束,例如:unique_together = ['stock', 'date', 'price']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 2017-06-20
    相关资源
    最近更新 更多