Как хранить данные с течением времени в Django ORM? - PullRequest
1 голос
/ 08 июля 2019

Я хотел бы хранить числовые данные, которые соответствуют определенной дате, как в ценах на акции. Каждая акция будет иметь список дней и соответствующую цену для этого дня.

Мне известно о ArrayField в Django, но он не работает как словарь; Мне нужно было бы иметь два отдельных массива с индексами каждого дня и сопоставлением цены.

Теоретически взаимосвязь «один: много» между акцией и днем, а связь «один: один» может составлять один день и цена может сработать, но это кажется очень неэффективным. Правильно ли я так думаю?

Вот как могут выглядеть некоторые данные в чистом Python

appl = {Datetime.date(2000, 1, 1): 100,
        Datetime.date(2000, 1, 2): 200}
googl = {Datetime.date(2010, 1, 1): 100,
         Datetime.date(2010, 1, 2): 200} #etc

Я использую Python 3.6, Django 2.2 и PostgreSQL для базы данных. Как это можно сделать?

1 Ответ

2 голосов
/ 08 июля 2019

Храните его в трех столбцах: дата, запас и цена.


class Store(Model):
    stock = CharField(max_length=10)
    date = DateTimeField()
    price = FloatField()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...