mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 21:27:49 +02:00
Extend functionalities
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from metadata.models import Decoder, Manufacturer, Company
|
||||
from metadata.models import Decoder, Manufacturer, Company, Tag
|
||||
|
||||
|
||||
@admin.register(Decoder)
|
||||
@@ -15,3 +15,8 @@ class CompanyAdmin(admin.ModelAdmin):
|
||||
@admin.register(Manufacturer)
|
||||
class ManufacturerAdmin(admin.ModelAdmin):
|
||||
readonly_fields = ('logo_thumbnail',)
|
||||
|
||||
|
||||
@admin.register(Tag)
|
||||
class TagAdmin(admin.ModelAdmin):
|
||||
readonly_fields = ('slug',)
|
||||
|
20
dcc/metadata/migrations/0004_equipment.py
Normal file
20
dcc/metadata/migrations/0004_equipment.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-06 19:50
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0003_metadata_extend'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Equipment',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('equipment_type', models.CharField(max_length=128, unique=True)),
|
||||
],
|
||||
),
|
||||
]
|
27
dcc/metadata/migrations/0005_tag_delete_equipment.py
Normal file
27
dcc/metadata/migrations/0005_tag_delete_equipment.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-06 20:02
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0004_equipment'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Tag',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=128, unique=True)),
|
||||
('slug', models.CharField(max_length=128, unique=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name_plural': 'Equipment',
|
||||
},
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Equipment',
|
||||
),
|
||||
]
|
17
dcc/metadata/migrations/0006_alter_tag_options.py
Normal file
17
dcc/metadata/migrations/0006_alter_tag_options.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 4.0.2 on 2022-03-06 20:15
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('metadata', '0005_tag_delete_equipment'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='tag',
|
||||
options={},
|
||||
),
|
||||
]
|
@@ -1,7 +1,8 @@
|
||||
from django.db import models
|
||||
from django.dispatch.dispatcher import receiver
|
||||
from django_countries.fields import CountryField
|
||||
|
||||
from dcc.utils import get_image_preview
|
||||
from dcc.utils import get_image_preview, slugify
|
||||
|
||||
|
||||
class Manufacturer(models.Model):
|
||||
@@ -67,3 +68,16 @@ class Decoder(models.Model):
|
||||
def image_thumbnail(self):
|
||||
return get_image_preview(self.image.url)
|
||||
image_thumbnail.short_description = "Preview"
|
||||
|
||||
|
||||
class Tag(models.Model):
|
||||
name = models.CharField(max_length=128, unique=True)
|
||||
slug = models.CharField(max_length=128, unique=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
@receiver(models.signals.pre_save, sender=Tag)
|
||||
def tag_pre_save(sender, instance, **kwargs):
|
||||
instance.slug = slugify(instance.name)
|
||||
|
Reference in New Issue
Block a user