mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
SupplierPart manufacturer data is not serializing
This commit is contained in:
parent
a4d098194b
commit
811f9333e8
@ -193,7 +193,7 @@ class SupplierPartList(generics.ListCreateAPIView):
|
||||
queryset = SupplierPart.objects.all().prefetch_related(
|
||||
'part',
|
||||
'supplier',
|
||||
'manufacturer'
|
||||
'manufacturer_part',
|
||||
)
|
||||
|
||||
def get_queryset(self):
|
||||
|
@ -67,10 +67,10 @@ class Migration(migrations.Migration):
|
||||
name='ManufacturerPart',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('MPN', models.CharField(blank=True, help_text='Manufacturer Part Number', max_length=100, null=True, verbose_name='MPN')),
|
||||
('MPN', models.CharField(help_text='Manufacturer Part Number', max_length=100, null=True, verbose_name='MPN')),
|
||||
('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='URL for external manufacturer part link', null=True, verbose_name='Link')),
|
||||
('description', models.CharField(blank=True, help_text='Manufacturer part description', max_length=250, null=True, verbose_name='Description')),
|
||||
('manufacturer', models.ForeignKey(blank=True, help_text='Select manufacturer', limit_choices_to={'is_manufacturer': True}, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='manufacturer_parts', to='company.Company', verbose_name='Manufacturer')),
|
||||
('manufacturer', models.ForeignKey(help_text='Select manufacturer', limit_choices_to={'is_manufacturer': True}, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='manufacturer_parts', to='company.Company', verbose_name='Manufacturer')),
|
||||
('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')),
|
||||
],
|
||||
options={
|
||||
@ -85,17 +85,6 @@ class Migration(migrations.Migration):
|
||||
# Make new ManufacturerPart with SupplierPart "manufacturer" and "MPN"
|
||||
# fields, then link it to the new SupplierPart "manufacturer_part" field
|
||||
migrations.RunPython(supplierpart_make_manufacturer_parts),
|
||||
# Make ManufacturerPart "manufacturer" and "MPN" field mandatory
|
||||
migrations.AlterField(
|
||||
model_name='ManufacturerPart',
|
||||
name='manufacturer',
|
||||
field=models.ForeignKey(help_text='Select manufacturer', limit_choices_to={'is_manufacturer': True}, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='manufacturer_parts', to='company.Company', verbose_name='Manufacturer'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ManufacturerPart',
|
||||
name='MPN',
|
||||
field=models.CharField(help_text='Manufacturer Part Number', max_length=100, null=True, verbose_name='MPN'),
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='supplierpart',
|
||||
name='MPN',
|
||||
|
@ -335,6 +335,17 @@ class ManufacturerPart(models.Model):
|
||||
help_text=_('Manufacturer part description')
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
s = ''
|
||||
|
||||
if self.manufacturer:
|
||||
s += f'{self.manufacturer.name}'
|
||||
s += ' | '
|
||||
|
||||
s += f'{self.MPN}'
|
||||
|
||||
return s
|
||||
|
||||
|
||||
class SupplierPart(models.Model):
|
||||
""" Represents a unique part as provided by a Supplier
|
||||
|
@ -110,7 +110,7 @@ class ManufacturerPartSerializer(InvenTreeModelSerializer):
|
||||
manufacturer = serializers.PrimaryKeyRelatedField(queryset=Company.objects.filter(is_manufacturer=True))
|
||||
|
||||
class Meta:
|
||||
model = SupplierPart
|
||||
model = ManufacturerPart
|
||||
fields = [
|
||||
'pk',
|
||||
'part',
|
||||
@ -131,7 +131,7 @@ class SupplierPartSerializer(InvenTreeModelSerializer):
|
||||
|
||||
supplier_detail = CompanyBriefSerializer(source='supplier', many=False, read_only=True)
|
||||
|
||||
manufacturer_detail = CompanyBriefSerializer(source='manufacturer', many=False, read_only=True)
|
||||
manufacturer_detail = ManufacturerPartSerializer(source='manufacturer_part', many=False, read_only=True)
|
||||
|
||||
pretty_name = serializers.CharField(read_only=True)
|
||||
|
||||
@ -157,8 +157,10 @@ class SupplierPartSerializer(InvenTreeModelSerializer):
|
||||
self.fields.pop('pretty_name')
|
||||
|
||||
supplier = serializers.PrimaryKeyRelatedField(queryset=Company.objects.filter(is_supplier=True))
|
||||
|
||||
manufacturer_part = serializers.PrimaryKeyRelatedField(queryset=ManufacturerPart.objects.all())
|
||||
|
||||
manufacturer = ManufacturerPartSerializer(many=False, read_only=True)
|
||||
|
||||
MPN = ManufacturerPartSerializer(many=False, read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = SupplierPart
|
||||
@ -170,7 +172,8 @@ class SupplierPartSerializer(InvenTreeModelSerializer):
|
||||
'supplier',
|
||||
'supplier_detail',
|
||||
'SKU',
|
||||
'manufacturer_part',
|
||||
'manufacturer',
|
||||
'MPN',
|
||||
'manufacturer_detail',
|
||||
'description',
|
||||
'link',
|
||||
|
Loading…
Reference in New Issue
Block a user