mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
Change model - add PartParameterTemplate
This commit is contained in:
parent
6393ddad53
commit
e6819b5396
@ -4,7 +4,7 @@ from import_export.admin import ImportExportModelAdmin
|
|||||||
from .models import PartCategory, Part
|
from .models import PartCategory, Part
|
||||||
from .models import PartAttachment, PartStar
|
from .models import PartAttachment, PartStar
|
||||||
from .models import BomItem
|
from .models import BomItem
|
||||||
from .models import PartParameter
|
from .models import PartParameterTemplate, PartParameter
|
||||||
|
|
||||||
|
|
||||||
class PartAdmin(ImportExportModelAdmin):
|
class PartAdmin(ImportExportModelAdmin):
|
||||||
@ -31,13 +31,12 @@ class BomItemAdmin(ImportExportModelAdmin):
|
|||||||
list_display = ('part', 'sub_part', 'quantity')
|
list_display = ('part', 'sub_part', 'quantity')
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
class ParameterTemplateAdmin(admin.ModelAdmin):
|
class ParameterTemplateAdmin(admin.ModelAdmin):
|
||||||
list_display = ('name', 'units', 'format')
|
list_display = ('name', 'units')
|
||||||
"""
|
|
||||||
|
|
||||||
class ParameterAdmin(admin.ModelAdmin):
|
class ParameterAdmin(admin.ModelAdmin):
|
||||||
list_display = ('part', 'name', 'data')
|
list_display = ('part', 'template', 'data')
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Part, PartAdmin)
|
admin.site.register(Part, PartAdmin)
|
||||||
@ -45,4 +44,5 @@ admin.site.register(PartCategory, PartCategoryAdmin)
|
|||||||
admin.site.register(PartAttachment, PartAttachmentAdmin)
|
admin.site.register(PartAttachment, PartAttachmentAdmin)
|
||||||
admin.site.register(PartStar, PartStarAdmin)
|
admin.site.register(PartStar, PartStarAdmin)
|
||||||
admin.site.register(BomItem, BomItemAdmin)
|
admin.site.register(BomItem, BomItemAdmin)
|
||||||
|
admin.site.register(PartParameterTemplate, ParameterTemplateAdmin)
|
||||||
admin.site.register(PartParameter, ParameterAdmin)
|
admin.site.register(PartParameter, ParameterAdmin)
|
||||||
|
37
InvenTree/part/migrations/0015_auto_20190820_0251.py
Normal file
37
InvenTree/part/migrations/0015_auto_20190820_0251.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Generated by Django 2.2.4 on 2019-08-20 02:51
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('part', '0014_partparameter'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='PartParameterTemplate',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(help_text='Parameter Name', max_length=100)),
|
||||||
|
('units', models.CharField(blank=True, help_text='Parameter Units', max_length=25)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='partparameter',
|
||||||
|
name='name',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='partparameter',
|
||||||
|
name='data',
|
||||||
|
field=models.CharField(help_text='Parameter Value', max_length=500),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='partparameter',
|
||||||
|
name='template',
|
||||||
|
field=models.ForeignKey(default=1, help_text='Parameter Template', on_delete=django.db.models.deletion.CASCADE, related_name='instances', to='part.PartParameterTemplate'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
17
InvenTree/part/migrations/0016_auto_20190820_0257.py
Normal file
17
InvenTree/part/migrations/0016_auto_20190820_0257.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Generated by Django 2.2.4 on 2019-08-20 02:57
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('part', '0015_auto_20190820_0251'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='partparameter',
|
||||||
|
unique_together={('part', 'template')},
|
||||||
|
),
|
||||||
|
]
|
@ -1033,26 +1033,61 @@ class PartStar(models.Model):
|
|||||||
unique_together = ['part', 'user']
|
unique_together = ['part', 'user']
|
||||||
|
|
||||||
|
|
||||||
class PartParameter(models.Model):
|
class PartParameterTemplate(models.Model):
|
||||||
""" A PartParameter provides key:value pairs for extra
|
""" A PartParameterTemplate provides a template for key:value pairs for extra
|
||||||
parameters fields/values to be added to a Part.
|
parameters fields/values to be added to a Part.
|
||||||
This allows users to arbitrarily assign data fields to a Part
|
This allows users to arbitrarily assign data fields to a Part
|
||||||
beyond the built-in attributes.
|
beyond the built-in attributes.
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
part: Link to a Part object
|
|
||||||
name: The name (key) of the Parameter [string]
|
name: The name (key) of the Parameter [string]
|
||||||
|
units: The units of the Parameter [string]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
s = str(self.name)
|
||||||
|
if self.units:
|
||||||
|
s += " ({units})".format(units=self.units)
|
||||||
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
name = models.CharField(max_length=100, help_text='Parameter Name')
|
||||||
|
|
||||||
|
units = models.CharField(max_length=25, help_text='Parameter Units', blank=True)
|
||||||
|
|
||||||
|
|
||||||
|
class PartParameter(models.Model):
|
||||||
|
""" A PartParameter is a specific instance of a PartParameterTemplate.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
part: Reference to a single Part object
|
||||||
|
template: Reference to a single PartParameterTemplate object
|
||||||
data: The data (value) of the Parameter [string]
|
data: The data (value) of the Parameter [string]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return "{part} : {param} = {data}{units}".format(
|
||||||
|
part=str(self.part),
|
||||||
|
param=str(self.template.name),
|
||||||
|
data=str(self.data),
|
||||||
|
units=str(self.template.units)
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
# Prevent multiple instances of a parameter for a single part
|
||||||
|
unique_together = ('part', 'template')
|
||||||
|
|
||||||
part = models.ForeignKey(Part, on_delete=models.CASCADE,
|
part = models.ForeignKey(Part, on_delete=models.CASCADE,
|
||||||
related_name='parameters',
|
related_name='parameters',
|
||||||
help_text='Parent Part',
|
help_text='Parent Part',
|
||||||
)
|
)
|
||||||
|
|
||||||
name = models.CharField(max_length=100, help_text='Parameter Name')
|
template = models.ForeignKey(PartParameterTemplate, on_delete=models.CASCADE,
|
||||||
|
related_name='instances',
|
||||||
|
help_text='Parameter Template'
|
||||||
|
)
|
||||||
|
|
||||||
data = models.CharField(max_length=100, help_text='Parameter Value')
|
data = models.CharField(max_length=500, help_text='Parameter Value')
|
||||||
|
|
||||||
|
|
||||||
class BomItem(models.Model):
|
class BomItem(models.Model):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user