Coverage for src/backend/InvenTree/company/migrations/0034_manufacturerpart.py: 100%

6 statements  

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

1import InvenTree.fields 

2from django.db import migrations, models 

3import django.db.models.deletion 

4 

5 

6class Migration(migrations.Migration): 

7 

8 dependencies = [ 

9 ('company', '0033_auto_20210410_1528'), 

10 ] 

11 

12 operations = [ 

13 migrations.CreateModel( 

14 name='ManufacturerPart', 

15 fields=[ 

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

17 ('MPN', models.CharField(help_text='Manufacturer Part Number', max_length=100, null=True, verbose_name='MPN')), 

18 ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='URL for external manufacturer part link', null=True, verbose_name='Link')), 

19 ('description', models.CharField(blank=True, help_text='Manufacturer part description', max_length=250, null=True, verbose_name='Description')), 

20 ('manufacturer', models.ForeignKey(help_text='Select manufacturer', limit_choices_to={'is_manufacturer': True}, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='manufactured_parts', to='company.Company', verbose_name='Manufacturer')), 

21 ('part', models.ForeignKey(help_text='Select part', limit_choices_to={'purchaseable': True}, on_delete=django.db.models.deletion.CASCADE, related_name='manufacturer_parts', to='part.Part', verbose_name='Base Part')), 

22 ], 

23 options={ 

24 'unique_together': {('part', 'manufacturer', 'MPN')}, 

25 'verbose_name': 'Manufacturer Part', 

26 }, 

27 ), 

28 ]