mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 05:07:50 +02:00
Minor admin improvements and remove unique_together deprecated Meta
Also make rolling stock unique per consist
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-01-08 22:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookshelf", "0019_basebook_price"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name="basebookdocument",
|
||||||
|
unique_together=set(),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name="basebookdocument",
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
fields=("book", "file"), name="unique_book_file"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
@@ -96,7 +96,12 @@ class BaseBookDocument(Document):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name_plural = "Documents"
|
verbose_name_plural = "Documents"
|
||||||
unique_together = ("book", "file")
|
constraints = [
|
||||||
|
models.UniqueConstraint(
|
||||||
|
fields=["book", "file"],
|
||||||
|
name="unique_book_file"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class BaseBookProperty(PropertyInstance):
|
class BaseBookProperty(PropertyInstance):
|
||||||
|
@@ -9,7 +9,14 @@ class ConsistItemInline(SortableInlineAdminMixin, admin.TabularInline):
|
|||||||
min_num = 1
|
min_num = 1
|
||||||
extra = 0
|
extra = 0
|
||||||
autocomplete_fields = ("rolling_stock",)
|
autocomplete_fields = ("rolling_stock",)
|
||||||
readonly_fields = ("preview", "published", "address", "type", "company", "era")
|
readonly_fields = (
|
||||||
|
"preview",
|
||||||
|
"published",
|
||||||
|
"address",
|
||||||
|
"type",
|
||||||
|
"company",
|
||||||
|
"era",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Consist)
|
@admin.register(Consist)
|
||||||
@@ -19,9 +26,9 @@ class ConsistAdmin(SortableAdminBase, admin.ModelAdmin):
|
|||||||
"creation_time",
|
"creation_time",
|
||||||
"updated_time",
|
"updated_time",
|
||||||
)
|
)
|
||||||
list_display = ("identifier", "published", "company", "era")
|
list_filter = ("company", "era", "published")
|
||||||
list_filter = list_display
|
list_display = ("__str__",) + list_filter
|
||||||
search_fields = list_display
|
search_fields = ("identifier",) + list_filter
|
||||||
save_as = True
|
save_as = True
|
||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
|
@@ -0,0 +1,20 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-01-08 21:50
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("consist", "0012_consist_published"),
|
||||||
|
("roster", "0030_rollingstock_price"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name="consistitem",
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
fields=("consist", "rolling_stock"), name="one_stock_per_consist"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
18
ram/consist/migrations/0014_alter_consistitem_order.py
Normal file
18
ram/consist/migrations/0014_alter_consistitem_order.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-01-08 22:22
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("consist", "0013_consistitem_one_stock_per_consist"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="consistitem",
|
||||||
|
name="order",
|
||||||
|
field=models.PositiveIntegerField(default=1000),
|
||||||
|
),
|
||||||
|
]
|
@@ -54,10 +54,20 @@ class ConsistItem(models.Model):
|
|||||||
Consist, on_delete=models.CASCADE, related_name="consist_item"
|
Consist, on_delete=models.CASCADE, related_name="consist_item"
|
||||||
)
|
)
|
||||||
rolling_stock = models.ForeignKey(RollingStock, on_delete=models.CASCADE)
|
rolling_stock = models.ForeignKey(RollingStock, on_delete=models.CASCADE)
|
||||||
order = models.PositiveIntegerField(default=0, blank=False, null=False)
|
order = models.PositiveIntegerField(
|
||||||
|
default=1000, # make sure it is always added at the end
|
||||||
|
blank=False,
|
||||||
|
null=False
|
||||||
|
)
|
||||||
|
|
||||||
class Meta(object):
|
class Meta:
|
||||||
ordering = ["order"]
|
ordering = ["order"]
|
||||||
|
constraints = [
|
||||||
|
models.UniqueConstraint(
|
||||||
|
fields=["consist", "rolling_stock"],
|
||||||
|
name="one_stock_per_consist"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{0}".format(self.rolling_stock)
|
return "{0}".format(self.rolling_stock)
|
||||||
|
@@ -0,0 +1,33 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-01-08 22:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("metadata", "0019_alter_scale_gauge"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name="decoderdocument",
|
||||||
|
unique_together=set(),
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name="rollingstocktype",
|
||||||
|
unique_together=set(),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name="decoderdocument",
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
fields=("decoder", "file"), name="unique_decoder_file"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name="rollingstocktype",
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
fields=("category", "type"), name="unique_category_type"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
@@ -117,7 +117,7 @@ class Decoder(models.Model):
|
|||||||
blank=True,
|
blank=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta(object):
|
class Meta:
|
||||||
ordering = ["manufacturer__name", "name"]
|
ordering = ["manufacturer__name", "name"]
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@@ -135,7 +135,12 @@ class DecoderDocument(Document):
|
|||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ("decoder", "file")
|
constraints = [
|
||||||
|
models.UniqueConstraint(
|
||||||
|
fields=["decoder", "file"],
|
||||||
|
name="unique_decoder_file"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def calculate_ratio(ratio):
|
def calculate_ratio(ratio):
|
||||||
@@ -189,8 +194,13 @@ class RollingStockType(models.Model):
|
|||||||
)
|
)
|
||||||
slug = models.CharField(max_length=128, unique=True, editable=False)
|
slug = models.CharField(max_length=128, unique=True, editable=False)
|
||||||
|
|
||||||
class Meta(object):
|
class Meta:
|
||||||
unique_together = ("category", "type")
|
constraints = [
|
||||||
|
models.UniqueConstraint(
|
||||||
|
fields=["category", "type"],
|
||||||
|
name="unique_category_type"
|
||||||
|
)
|
||||||
|
]
|
||||||
ordering = ["order"]
|
ordering = ["order"]
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
@@ -210,7 +220,7 @@ class Tag(models.Model):
|
|||||||
name = models.CharField(max_length=128, unique=True)
|
name = models.CharField(max_length=128, unique=True)
|
||||||
slug = models.CharField(max_length=128, unique=True)
|
slug = models.CharField(max_length=128, unique=True)
|
||||||
|
|
||||||
class Meta(object):
|
class Meta:
|
||||||
ordering = ["name"]
|
ordering = ["name"]
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
from ram.utils import git_suffix
|
from ram.utils import git_suffix
|
||||||
|
|
||||||
__version__ = "0.15.3"
|
__version__ = "0.15.4"
|
||||||
__version__ += git_suffix(__file__)
|
__version__ += git_suffix(__file__)
|
||||||
|
@@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-01-08 22:22
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("roster", "0030_rollingstock_price"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name="rollingstockdocument",
|
||||||
|
unique_together=set(),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name="rollingstockdocument",
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
fields=("rolling_stock", "file"), name="unique_stock_file"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
@@ -156,8 +156,13 @@ class RollingStockDocument(Document):
|
|||||||
RollingStock, on_delete=models.CASCADE, related_name="document"
|
RollingStock, on_delete=models.CASCADE, related_name="document"
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta(object):
|
class Meta:
|
||||||
unique_together = ("rolling_stock", "file")
|
constraints = [
|
||||||
|
models.UniqueConstraint(
|
||||||
|
fields=["rolling_stock", "file"],
|
||||||
|
name="unique_stock_file"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def rolling_stock_image_upload(instance, filename):
|
def rolling_stock_image_upload(instance, filename):
|
||||||
|
Reference in New Issue
Block a user