Beispiel #1
0
 def post(self, item_id):
     """在一个条目下创建一条记录"""
     remark = request.form.get('remark', '')
     item = get_or_raise(ItemM, id=item_id)
     start = datetime.now()
     record = RecordM(start=start, remark=remark)
     record.item = item
     db.session.add(record)
     db.session.commit()
     return {'status': 201, 'message': 'Created', 'data': record}, 201
Beispiel #2
0
 def test_calculation_of_item(self):
     """
     api: /category/<int:category_id>/calculation
     methods: get: 获取一个分类下的每个条目的记录的时间总和(秒)
     """
     item = Item.query.first()
     record = Record(start=datetime(2019, 1, 10, 6, 0, 0),
                     finish=datetime(2019, 1, 10, 7, 0, 0))
     record.item = item
     db.session.add(record)
     db.session.commit()
     res = self.client.get(BASE_URL + '/category/1/calculation').get_json()
     self.assertEqual(200, res['status'])
     self.assertEqual(3600, res['data'][0]['value'])
Beispiel #3
0
def fake_records(count=50):
    items = Item.query.all()
    times = [fake.date_time_this_year() for _ in range(count * 2)]
    times.sort(reverse=True)
    while True:
        try:
            for _ in range(count):
                record = Record(start=times.pop(),
                                finish=times.pop(),
                                remark=fake.sentence())
                record.item = random.choice(items)
                db.session.add(record)
            db.session.commit()
            break
        except IntegrityError:
            db.session.rollback()
            continue