Coverage for src/backend/InvenTree/stock/migrations/0071_auto_20211205_1733.py: 62%
17 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
1# Generated by Django 3.2.5 on 2021-12-05 06:33
3from django.db import migrations
5import logging
8logger = logging.getLogger('inventree')
11def delete_scheduled(apps, schema_editor):
12 """
13 Delete all stock items which are marked as 'scheduled_for_deletion'.
15 The issue that this field was addressing has now been fixed,
16 and so we can all move on with our lives...
17 """
19 StockItem = apps.get_model('stock', 'stockitem')
21 items = StockItem.objects.filter(scheduled_for_deletion=True)
23 if items.count() > 0: 23 ↛ 24line 23 didn't jump to line 24 because the condition on line 23 was never true
24 logger.info(f"Removing {items.count()} stock items scheduled for deletion")
26 # Ensure any parent / child relationships are updated!
27 for item in items:
28 children = StockItem.objects.filter(parent=item)
29 children.update(parent=item.parent)
31 item.delete()
33 Task = apps.get_model('django_q', 'schedule')
35 Task.objects.filter(func='stock.tasks.delete_old_stock_items').delete()
38class Migration(migrations.Migration):
40 dependencies = [
41 ('django_q', '0007_ormq'),
42 ('stock', '0070_auto_20211128_0151'),
43 ]
45 operations = [
46 migrations.RunPython(
47 delete_scheduled,
48 reverse_code=migrations.RunPython.noop,
49 )
50 ]