mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-05 05:37:50 +02:00
Refactor rolling stock
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from django.contrib import admin
|
||||
from metadata.models import Decoder, Manufacturer, Company, Tag
|
||||
from metadata.models import (
|
||||
Decoder, Manufacturer, Company, Tag, RollingStockType)
|
||||
|
||||
|
||||
@admin.register(Decoder)
|
||||
@@ -20,3 +21,9 @@ class ManufacturerAdmin(admin.ModelAdmin):
|
||||
@admin.register(Tag)
|
||||
class TagAdmin(admin.ModelAdmin):
|
||||
readonly_fields = ('slug',)
|
||||
|
||||
|
||||
@admin.register(RollingStockType)
|
||||
class RollingStockTypeAdmin(admin.ModelAdmin):
|
||||
list_display = ('type', 'category')
|
||||
list_filter = list_display
|
||||
|
20
dcc/metadata/migrations/0007_rollingstocktype.py
Normal file
20
dcc/metadata/migrations/0007_rollingstocktype.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 19:44
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0006_alter_tag_options'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='RollingStockType',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('type', models.CharField(max_length=64, unique=True)),
|
||||
],
|
||||
),
|
||||
]
|
@@ -0,0 +1,44 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 19:55
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0007_rollingstocktype'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='EngineType',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('type', models.CharField(max_length=64, unique=True)),
|
||||
],
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='rollingstocktype',
|
||||
name='type',
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CarType',
|
||||
fields=[
|
||||
('enginetype_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='metadata.enginetype')),
|
||||
],
|
||||
bases=('metadata.enginetype',),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='rollingstocktype',
|
||||
name='engine_type',
|
||||
field=models.ForeignKey(default='0', on_delete=django.db.models.deletion.CASCADE, related_name='engine_type', to='metadata.enginetype'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='rollingstocktype',
|
||||
name='car_type',
|
||||
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='car_type', to='metadata.cartype'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
@@ -0,0 +1,51 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 20:01
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0008_enginetype_remove_rollingstocktype_type_cartype_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='TypeCategory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('category', models.CharField(max_length=64, unique=True)),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='rollingstocktype',
|
||||
name='type',
|
||||
field=models.CharField(default='0', max_length=64),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='rollingstocktype',
|
||||
name='category',
|
||||
field=models.ForeignKey(default=0, on_delete=django.db.models.deletion.CASCADE, to='metadata.typecategory'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='rollingstocktype',
|
||||
unique_together={('category', 'type')},
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='rollingstocktype',
|
||||
name='car_type',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='rollingstocktype',
|
||||
name='engine_type',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='CarType',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='EngineType',
|
||||
),
|
||||
]
|
18
dcc/metadata/migrations/0010_alter_typecategory_category.py
Normal file
18
dcc/metadata/migrations/0010_alter_typecategory_category.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 20:04
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0009_typecategory_rollingstocktype_type_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='typecategory',
|
||||
name='category',
|
||||
field=models.CharField(choices=[('engine', 'Engine'), ('car', 'Car')], max_length=64, unique=True),
|
||||
),
|
||||
]
|
@@ -0,0 +1,21 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 20:04
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0010_alter_typecategory_category'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='rollingstocktype',
|
||||
name='category',
|
||||
field=models.CharField(choices=[('engine', 'Engine'), ('car', 'Car')], max_length=64, unique=True),
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='TypeCategory',
|
||||
),
|
||||
]
|
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-30 20:22
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0011_alter_rollingstocktype_category_delete_typecategory'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='rollingstocktype',
|
||||
name='category',
|
||||
field=models.CharField(choices=[('engine', 'Engine'), ('car', 'Car'), ('equipment', 'Equipment'), ('other', 'Other')], max_length=64),
|
||||
),
|
||||
]
|
@@ -1,4 +1,5 @@
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.dispatch.dispatcher import receiver
|
||||
from django_countries.fields import CountryField
|
||||
|
||||
@@ -81,3 +82,15 @@ class Tag(models.Model):
|
||||
@receiver(models.signals.pre_save, sender=Tag)
|
||||
def tag_pre_save(sender, instance, **kwargs):
|
||||
instance.slug = slugify(instance.name)
|
||||
|
||||
|
||||
class RollingStockType(models.Model):
|
||||
type = models.CharField(max_length=64)
|
||||
category = models.CharField(
|
||||
max_length=64, choices=settings.ROLLING_STOCK_TYPES)
|
||||
|
||||
class Meta(object):
|
||||
unique_together = ('category', 'type')
|
||||
|
||||
def __str__(self):
|
||||
return "{0}".format(self.type)
|
||||
|
Reference in New Issue
Block a user