mirror of
https://github.com/hanzoai/datastore-orm.git
synced 2026-09-30 21:40:30 +00:00
This is our fork, so it should read like it. `import datastore_orm` instead of `from infi.clickhouse_orm import ...`: `infi` was the original vendor's org namespace, and carrying someone else's org name through every import in the consuming codebase is not a fork, it is a vendored copy that never got renamed. The `infi` namespace package is gone entirely (src/infi/__init__.py with it), the distribution is `datastore-orm`, and the metadata points at Hanzo rather than at the upstream repo and author. NOT renamed, deliberately: the migration history tables are still `infi_clickhouse_orm_migrations`. That name is persisted state — 448 rows in production key off it — so changing it is a data migration, not a rename. Doing it carelessly reproduces the exact failure this fork just hit, where a package rename orphaned the history and silently blocked every migration.
14 lines
522 B
Python
14 lines
522 B
Python
from datastore_orm import Database, F
|
|
from models import CPUStats
|
|
|
|
|
|
db = Database('demo')
|
|
queryset = CPUStats.objects_in(db)
|
|
total = queryset.filter(CPUStats.cpu_id == 1).count()
|
|
busy = queryset.filter(CPUStats.cpu_id == 1, CPUStats.cpu_percent > 95).count()
|
|
print('CPU 1 was busy {:.2f}% of the time'.format(busy * 100.0 / total))
|
|
|
|
# Calculate the average usage per CPU
|
|
for row in queryset.aggregate(CPUStats.cpu_id, average=F.avg(CPUStats.cpu_percent)):
|
|
print('CPU {row.cpu_id}: {row.average:.2f}%'.format(row=row))
|