前提・実現したいこと
djangoで入退室システムを作っているが、ログの良い集計方法がわからない。
DB
登録時間 |名前|状態 2019-07-24 12:00| A |入室 2019-07-24 13:00| B |入室 2019-07-24 15:00| A |退室 2019-07-24 19:00| B |退室
こういう形でログがDBに記録されています。
このDBから、Aさんの入室していた間の時間を取得するには上のDBだと、3件目の退室と1件目の入室の時間差を求める必要があると思います。
(実際には同じ日に何度も出入りするなどDBは複雑になると思います。)
これらをどのようにして求めるのが良いのでしょうか?
また、一月の期間ごとの入室していた間の時間などを求めれたらなとも考えています。
modelのイメージ
from django.db import models # Create your models here. class Log(models.Model): created_at = models.DateTimeField( verbose_name='登録時間', auto_now_add=True, ) name = models.CharField( verbose_name='名前', max_length=50, blank=True ) status = models.CharField( verbose_name='状態', max_length=50, blank=True )
そもそもdjangoやDBを触るのはほとんど初めてなので、行いたいことに対してmodelの作り方が向いていないのかもしれません。
Django REST Frameworkを用いて、カードリーダー端末などから、APIにPOSTする形で現在はDBにログを記録しています。
modelの作りが悪いなど、集計方法以外での解決でも問題ありません。
詳しい方、ご教示いただけませんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/24 03:25
退会済みユーザー
2019/07/24 03:38
退会済みユーザー
2019/07/24 03:45
2019/07/24 03:57 編集
退会済みユーザー
2019/07/25 07:02