diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-24 18:10:29 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-26 17:43:38 +0200 |
| commit | a20e6f427edfaf3ae8b8f020957134fa4a2d577d (patch) | |
| tree | c7784b19b02793147b11b4236853456293c1b9df /archaeological_finds/migrations | |
| parent | c9db6e5bdb9182cd2d38c1daf1096350cf13a4a7 (diff) | |
| download | Ishtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.tar.bz2 Ishtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.zip | |
✨ finds - workshop, movement, style fields: model, admin, forms, views, sheet (refs #6725)
Diffstat (limited to 'archaeological_finds/migrations')
3 files changed, 90 insertions, 0 deletions
diff --git a/archaeological_finds/migrations/0154_workshop_movement_styles.py b/archaeological_finds/migrations/0154_workshop_movement_styles.py new file mode 100644 index 000000000..bfda4ef6e --- /dev/null +++ b/archaeological_finds/migrations/0154_workshop_movement_styles.py @@ -0,0 +1,40 @@ +# Generated by Django 4.2.19 on 2026-04-24 15:43 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.models_common +import re + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_finds', '0153_data_migration_find_listed_building_icono_patterns'), + ] + + operations = [ + migrations.CreateModel( + name='WorkshopMovementStyleType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), 'Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.', 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.workshopmovementstyletype', verbose_name='Parent')), + ], + options={ + 'verbose_name': 'Workshop, movement, style type', + 'verbose_name_plural': 'Workshop, movement, style types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models_common.Cached, models.Model), + ), + migrations.AddField( + model_name='find', + name='workshop_movement_styles', + field=models.ManyToManyField(blank=True, related_name='finds', to='archaeological_finds.workshopmovementstyletype', verbose_name='Workshop, movement, style'), + ), + ] diff --git a/archaeological_finds/migrations/0155_data_migration.json b/archaeological_finds/migrations/0155_data_migration.json new file mode 100644 index 000000000..70a2acf89 --- /dev/null +++ b/archaeological_finds/migrations/0155_data_migration.json @@ -0,0 +1,24 @@ +[ + { + "model": "archaeological_finds.workshopmovementstyletype", + "fields": { + "label": "Atelier, mouvement, style 1", + "txt_idx": "atelier-mouvement-style-1", + "comment": "", + "available": true, + "order": 10, + "parent": null + } + }, + { + "model": "archaeological_finds.workshopmovementstyletype", + "fields": { + "label": "Atelier, mouvement, style 2", + "txt_idx": "atelier-mouvement-style-2", + "comment": "", + "available": true, + "order": 20, + "parent": null + } + } +]
\ No newline at end of file diff --git a/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py b/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py new file mode 100644 index 000000000..cfeb639a1 --- /dev/null +++ b/archaeological_finds/migrations/0155_data_migration_workshop_movement_style.py @@ -0,0 +1,26 @@ +# Generated by Django 2.2.24 on 2024-02-10 12:07 + +import os + +from django.db import migrations +from django.core.management import call_command + + +def load_data(apps, __): + WorkshopMovementStyleType = apps.get_model("archaeological_finds", + "WorkshopMovementStyleType") + if not WorkshopMovementStyleType.objects.count(): + json_path = os.sep.join(os.path.abspath(__file__).split(os.sep)[:-1] + [ + "0155_data_migration.json"]) + call_command("loaddata", json_path) + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_finds', '0154_workshop_movement_styles'), + ] + + operations = [ + migrations.RunPython(load_data) + ] |
