2016-11-06 7 views
0

私はDjangoでWebアプリケーションを構築しています。私は、建物の中に何人の人々がいるかというアプリケーションに毎分信号を送るシステムを持っています。私は、建物(モデル)のデータを例えば、それをグラフで表示する(1時間のうちに建物内の人の量)、またはそこに何人いるかを調べる。最後の水曜日の午後5時半。時間ベースのデータをDjangoモデルに保存するにはどうすればいいですか?

日付/時刻に基づいてデータを検索できるモデルに、これをどのように構築できますか?

ありがとうございました。

答えて

2

あなたの質問は本当に曖昧なので、それは、詳細な応答を与えるのは難しいですが、あなたは常にこの線に沿って何かを試みることができる:次に信号がモデルを作成

# models.py 
class BuildingCount(models.Model): 
    number_of_people = models.IntegerField() 
    datetime_stamp = models.DateTimeField(auto_now_add=True) 

b = BuildingCount(number_of_people=x) 
b.save() 

datetimeは連続したフィールドなので、特定のdatetimeでレコードを取得しようとすると、2つのdatetimesの間でフィルタリングするほうがよいでしょう。ここでは例のカップルは、次のとおりです。

from datetime import datetime, timedelta 

# All counts in the past week 
now = datetime.now() 
one_week_ago = now - timedelta(days=7) 
results = BuildingCount.objects.filter(datetime_stamp__range=(one_week_ago, now)) 
for result in results: 
    print (result.number_of_people) 

# Last Wed 5.30pm 
# filter over a 2 min window and return the first record 
result = BuildingCount.objects.filter(datetime_stamp__range=(datetime(2016,11,2,17,29), datetime(2016,11,2,17,31))).first() 
print (result.number_of_people) 

うまくいけば、これは

+0

...あなたはより多くの情報を提供する場合、私はさらに支援することができるかもしれ代わりに、役立ちますねえ応答に感謝、私は約あまりにも確認されませんでした私の質問の文言も。適切な組み込みのDjango機能があるかどうか、またはプラグインが必要かどうかはわかりませんでした。私はあなたの答えが好きです、それは確かに私が行うことができ、から構築することができるものです。このシナリオでは大丈夫だと思いますか?各ビルディングには50-100ビルのビルディングカウント(1時間ごとに1時間)が1年以上実行されていますか?建物あたり4,368のBuildingCountを与え、50の建物は218,400になります。私はこれがDjangoの操作可能なデータサイズであるかどうかは不明です。 – martingrant

関連する問題