Add custom migration

- Required to initialize the MPTT fields for the StockItem model
This commit is contained in:
Oliver Walters 2020-02-17 22:11:44 +11:00
parent 750dfcda07
commit 4f266958e3
3 changed files with 35 additions and 0 deletions

View File

@ -85,6 +85,13 @@ class StockItemResource(ModelResource):
stocktake_date = Field(attribute='stocktake_date', widget=widgets.DateWidget())
def after_import(self, dataset, result, using_transactions, dry_run, **kwargs):
super().after_import(dataset, result, using_transactions, dry_run, **kwargs)
# Rebuild the StockItem tree(s)
StockItem.objects.rebuild()
class Meta:
model = StockItem
skip_unchanged = True

View File

@ -0,0 +1,21 @@
# Generated by Django 2.2.9 on 2020-02-17 11:09
from django.db import migrations
from stock import models
def update_stock_item_tree(apps, schema_editor):
# Update the StockItem MPTT model
models.StockItem.objects.rebuild()
class Migration(migrations.Migration):
dependencies = [
('stock', '0021_auto_20200215_2232'),
]
operations = [
migrations.RunPython(update_stock_item_tree)
]

View File

@ -385,6 +385,13 @@ class StockItem(MPTTModel):
return True
@property
def child_count(self):
""" Return the number of 'child' items associated with this StockItem.
A child item is one which has been split from this one.
"""
return self.get_descendants(include_self=False).count()
@property
def in_stock(self):