diff --git a/spoolman/database/spool.py b/spoolman/database/spool.py index ab3bc12..2192b72 100644 --- a/spoolman/database/spool.py +++ b/spoolman/database/spool.py @@ -176,6 +176,12 @@ async def find( # noqa: C901 / models.Filament.density / (models.Filament.diameter * models.Filament.diameter), ) + elif fieldstr == "used_length": + sorts.append( + models.Spool.used_weight + / models.Filament.density + / (models.Filament.diameter * models.Filament.diameter), + ) elif fieldstr == "filament.combined_name": sorts.append(models.Vendor.name) sorts.append(models.Filament.name) diff --git a/tests_integration/tests/spool/test_find.py b/tests_integration/tests/spool/test_find.py index 22d0be7..51a2758 100644 --- a/tests_integration/tests/spool/test_find.py +++ b/tests_integration/tests/spool/test_find.py @@ -223,6 +223,8 @@ def test_find_all_spools_limit_asc_offset_outside_range(spools: Fixture): # noq "filament_id", "used_weight", "remaining_weight", + "used_length", + "remaining_length", "location", "lot_nr", "comment",