Coverage for src/backend/InvenTree/stock/migrations/0001_initial.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 17:47 +0000

1# Generated by Django 2.2 on 2019-05-20 12:04 

2 

3from django.conf import settings 

4import django.core.validators 

5from django.db import migrations, models 

6import django.db.models.deletion 

7 

8 

9class Migration(migrations.Migration): 

10 

11 initial = True 

12 

13 dependencies = [ 

14 ('part', '0001_initial'), 

15 ('company', '0001_initial'), 

16 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 

17 ] 

18 

19 operations = [ 

20 migrations.CreateModel( 

21 name='StockItem', 

22 fields=[ 

23 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

24 ('serial', models.PositiveIntegerField(blank=True, help_text='Serial number for this item', null=True)), 

25 ('URL', models.URLField(blank=True, max_length=125)), 

26 ('batch', models.CharField(blank=True, help_text='Batch code for this stock item', max_length=100, null=True)), 

27 ('quantity', models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(0)])), 

28 ('updated', models.DateField(auto_now=True, null=True)), 

29 ('stocktake_date', models.DateField(blank=True, null=True)), 

30 ('review_needed', models.BooleanField(default=False)), 

31 ('delete_on_deplete', models.BooleanField(default=True, help_text='Delete this Stock Item when stock is depleted')), 

32 ('status', models.PositiveIntegerField(choices=[(10, 'OK'), (50, 'Attention needed'), (55, 'Damaged'), (60, 'Destroyed')], default=10, validators=[django.core.validators.MinValueValidator(0)])), 

33 ('notes', models.CharField(blank=True, help_text='Stock Item Notes', max_length=250)), 

34 ('infinite', models.BooleanField(default=False)), 

35 ('belongs_to', models.ForeignKey(blank=True, help_text='Is this item installed in another item?', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='owned_parts', to='stock.StockItem')), 

36 ('customer', models.ForeignKey(blank=True, help_text='Item assigned to customer?', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='stockitems', to='company.Company')), 

37 ], 

38 options={ 

39 'verbose_name': 'Stock Item', 

40 } 

41 ), 

42 migrations.CreateModel( 

43 name='StockLocation', 

44 fields=[ 

45 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

46 ('name', models.CharField(max_length=100, unique=True)), 

47 ('description', models.CharField(max_length=250)), 

48 ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='children', to='stock.StockLocation')), 

49 ], 

50 options={ 

51 'abstract': False, 

52 'unique_together': {('name', 'parent')}, 

53 }, 

54 ), 

55 migrations.CreateModel( 

56 name='StockItemTracking', 

57 fields=[ 

58 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

59 ('date', models.DateTimeField(auto_now_add=True)), 

60 ('title', models.CharField(max_length=250)), 

61 ('notes', models.TextField(blank=True)), 

62 ('system', models.BooleanField(default=False)), 

63 ('quantity', models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(0)])), 

64 ('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tracking_info', to='stock.StockItem')), 

65 ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), 

66 ], 

67 options={ 

68 'verbose_name': 'Stock Item Tracking', 

69 } 

70 ), 

71 migrations.AddField( 

72 model_name='stockitem', 

73 name='location', 

74 field=models.ForeignKey(blank=True, help_text='Where is this stock item located?', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='stock_items', to='stock.StockLocation'), 

75 ), 

76 migrations.AddField( 

77 model_name='stockitem', 

78 name='part', 

79 field=models.ForeignKey(help_text='Base part', on_delete=django.db.models.deletion.CASCADE, related_name='stock_items', to='part.Part'), 

80 ), 

81 migrations.AddField( 

82 model_name='stockitem', 

83 name='stocktake_user', 

84 field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='stocktake_stock', to=settings.AUTH_USER_MODEL), 

85 ), 

86 migrations.AddField( 

87 model_name='stockitem', 

88 name='supplier_part', 

89 field=models.ForeignKey(blank=True, help_text='Select a matching supplier part for this stock item', null=True, on_delete=django.db.models.deletion.SET_NULL, to='company.SupplierPart'), 

90 ), 

91 migrations.AlterUniqueTogether( 

92 name='stockitem', 

93 unique_together={('part', 'serial')}, 

94 ), 

95 ]