mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Allow tag fields to be empty (#4816)
Without this change, editing items (e.g. via the admin interface) fails if the tag field is not empty
This commit is contained in:
parent
e2505433a2
commit
caa7b84c3e
25
InvenTree/company/migrations/0058_auto_20230515_0004.py
Normal file
25
InvenTree/company/migrations/0058_auto_20230515_0004.py
Normal file
@ -0,0 +1,25 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-15 00:04
|
||||
|
||||
from django.db import migrations
|
||||
import taggit.managers
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('taggit', '0005_auto_20220424_2025'),
|
||||
('company', '0057_auto_20230427_2033'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='manufacturerpart',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='supplierpart',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
|
||||
),
|
||||
]
|
@ -311,7 +311,7 @@ class ManufacturerPart(MetadataMixin, models.Model):
|
||||
help_text=_('Manufacturer part description')
|
||||
)
|
||||
|
||||
tags = TaggableManager()
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
@classmethod
|
||||
def create(cls, part, manufacturer, mpn, description, link=None):
|
||||
@ -448,7 +448,8 @@ class SupplierPart(MetadataMixin, InvenTreeBarcodeMixin, common.models.MetaMixin
|
||||
db_table = 'part_supplierpart'
|
||||
|
||||
objects = SupplierPartManager()
|
||||
tags = TaggableManager()
|
||||
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
@staticmethod
|
||||
def get_api_url():
|
||||
|
20
InvenTree/part/migrations/0107_alter_part_tags.py
Normal file
20
InvenTree/part/migrations/0107_alter_part_tags.py
Normal file
@ -0,0 +1,20 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-15 00:04
|
||||
|
||||
from django.db import migrations
|
||||
import taggit.managers
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('taggit', '0005_auto_20220424_2025'),
|
||||
('part', '0106_part_tags'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='part',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
|
||||
),
|
||||
]
|
@ -380,7 +380,8 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel)
|
||||
"""
|
||||
|
||||
objects = PartManager()
|
||||
tags = TaggableManager()
|
||||
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
class Meta:
|
||||
"""Metaclass defines extra model properties"""
|
||||
|
25
InvenTree/stock/migrations/0100_auto_20230515_0004.py
Normal file
25
InvenTree/stock/migrations/0100_auto_20230515_0004.py
Normal file
@ -0,0 +1,25 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-15 00:04
|
||||
|
||||
from django.db import migrations
|
||||
import taggit.managers
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('taggit', '0005_auto_20220424_2025'),
|
||||
('stock', '0099_alter_stockitem_status'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='stockitem',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='stocklocation',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
|
||||
),
|
||||
]
|
@ -54,7 +54,7 @@ class StockLocation(InvenTreeBarcodeMixin, MetadataMixin, InvenTreeTree):
|
||||
verbose_name = _('Stock Location')
|
||||
verbose_name_plural = _('Stock Locations')
|
||||
|
||||
tags = TaggableManager()
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
def delete_recursive(self, *args, **kwargs):
|
||||
"""This function handles the recursive deletion of sub-locations depending on kwargs contents"""
|
||||
@ -324,7 +324,7 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo
|
||||
}
|
||||
}
|
||||
|
||||
tags = TaggableManager()
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
# A Query filter which will be re-used in multiple places to determine if a StockItem is actually "in stock"
|
||||
IN_STOCK_FILTER = Q(
|
||||
|
Loading…
Reference in New Issue
Block a user