apps.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from django.apps import AppConfig
  2. from django.db.models.signals import post_migrate
  3. class StaffConfig(AppConfig):
  4. name = 'staff'
  5. def ready(self):
  6. post_migrate.connect(do_init_data, sender=self)
  7. def do_init_data(sender, **kwargs):
  8. init_category()
  9. def init_category():
  10. """
  11. :return:None
  12. """
  13. try:
  14. from .models import TypeListModel as ls
  15. if ls.objects.filter(openid__iexact='init_data').exists():
  16. if ls.objects.filter(openid__iexact='init_data').count() != 7:
  17. ls.objects.filter(openid__iexact='init_data').delete()
  18. init_data = [
  19. ls(id=1, openid='init_data', staff_type='Manager', creater='GreaterWMS'),
  20. ls(id=2, openid='init_data', staff_type='Supplier', creater='GreaterWMS'),
  21. ls(id=3, openid='init_data', staff_type='Customer', creater='GreaterWMS'),
  22. ls(id=4, openid='init_data', staff_type='Supervisor', creater='GreaterWMS'),
  23. ls(id=5, openid='init_data', staff_type='Inbound', creater='GreaterWMS'),
  24. ls(id=6, openid='init_data', staff_type='Outbound', creater='GreaterWMS'),
  25. ls(id=7, openid='init_data', staff_type='StockControl', creater='GreaterWMS')
  26. ]
  27. ls.objects.bulk_create(init_data, batch_size=100)
  28. else:
  29. init_data = [
  30. ls(id=1, openid='init_data', staff_type='Manager', creater='GreaterWMS'),
  31. ls(id=2, openid='init_data', staff_type='Supplier', creater='GreaterWMS'),
  32. ls(id=3, openid='init_data', staff_type='Customer', creater='GreaterWMS'),
  33. ls(id=4, openid='init_data', staff_type='Supervisor', creater='GreaterWMS'),
  34. ls(id=5, openid='init_data', staff_type='Inbound', creater='GreaterWMS'),
  35. ls(id=6, openid='init_data', staff_type='Outbound', creater='GreaterWMS'),
  36. ls(id=7, openid='init_data', staff_type='StockControl', creater='GreaterWMS')
  37. ]
  38. ls.objects.bulk_create(init_data, batch_size=100)
  39. except:
  40. pass