Features: 1) Update attribute.name and its localized variants to remove the unique constraint and set null=True for optional fields;

Fixes: 1) Correct field attributes in `attribute` model to align with database requirements;

Extra: 1) Generated migration file `0046_alter_attribute_name_alter_attribute_name_ar_ar_and_more.py`.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-10-18 22:41:43 +03:00
parent 44e5e74044
commit a700a1c7e6
2 changed files with 302 additions and 1 deletions

View file

@ -0,0 +1,302 @@
# Generated by Django 5.2 on 2025-10-18 19:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0045_alter_product_name_alter_product_name_ar_ar_and_more"),
]
operations = [
migrations.AlterField(
model_name="attribute",
name="name",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_ar_ar",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_cs_cz",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_da_dk",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_de_de",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_en_gb",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_en_us",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_es_es",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_fa_ir",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_fr_fr",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_he_il",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_hi_in",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_hr_hr",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_id_id",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_it_it",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_ja_jp",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_kk_kz",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_ko_kr",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_nl_nl",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_no_no",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_pl_pl",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_pt_br",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_ro_ro",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_ru_ru",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_sv_se",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_th_th",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_tr_tr",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_vi_vn",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
migrations.AlterField(
model_name="attribute",
name="name_zh_hans",
field=models.CharField(
help_text="name of this attribute",
max_length=255,
null=True,
verbose_name="attribute's name",
),
),
]

View file

@ -652,7 +652,6 @@ class Attribute(ExportModelOperationsMixin("attribute"), NiceModel): # type: ig
max_length=255, max_length=255,
help_text=_("name of this attribute"), help_text=_("name of this attribute"),
verbose_name=_("attribute's name"), verbose_name=_("attribute's name"),
unique=True,
) )
is_filterable = BooleanField( is_filterable = BooleanField(