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
« 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
3from django.conf import settings
4import django.core.validators
5from django.db import migrations, models
6import django.db.models.deletion
9class Migration(migrations.Migration):
11 initial = True
13 dependencies = [
14 ('part', '0001_initial'),
15 ('company', '0001_initial'),
16 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17 ]
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 ]