From 3211ed756716355b4221cfbf53b7376cff95aebf Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Thu, 28 Aug 2025 10:54:21 +0500 Subject: [PATCH] add: add new fields to Banner model --- core/apps/common/admin.py | 4 +- ..._banner_text_en_banner_text_ru_and_more.py | 53 +++++++++++++++++++ core/apps/common/models.py | 2 + core/apps/common/serializers.py | 2 +- core/apps/common/translation.py | 7 +++ 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 core/apps/common/migrations/0002_banner_text_banner_text_en_banner_text_ru_and_more.py diff --git a/core/apps/common/admin.py b/core/apps/common/admin.py index 709b27f..9167786 100644 --- a/core/apps/common/admin.py +++ b/core/apps/common/admin.py @@ -8,8 +8,8 @@ from core.apps.common import models @admin.register(models.Banner) -class BannerAdmin(admin.ModelAdmin): - list_display = ['banner'] +class BannerAdmin(TranslationAdmin): + list_display = ['banner', 'title', 'text'] @admin.register(models.SiteConfig) diff --git a/core/apps/common/migrations/0002_banner_text_banner_text_en_banner_text_ru_and_more.py b/core/apps/common/migrations/0002_banner_text_banner_text_en_banner_text_ru_and_more.py new file mode 100644 index 0000000..dee38b0 --- /dev/null +++ b/core/apps/common/migrations/0002_banner_text_banner_text_en_banner_text_ru_and_more.py @@ -0,0 +1,53 @@ +# Generated by Django 5.2 on 2025-08-28 10:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('common', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='banner', + name='text', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='banner', + name='text_en', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='banner', + name='text_ru', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='banner', + name='text_uz', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='banner', + name='title', + field=models.CharField(max_length=200, null=True), + ), + migrations.AddField( + model_name='banner', + name='title_en', + field=models.CharField(max_length=200, null=True), + ), + migrations.AddField( + model_name='banner', + name='title_ru', + field=models.CharField(max_length=200, null=True), + ), + migrations.AddField( + model_name='banner', + name='title_uz', + field=models.CharField(max_length=200, null=True), + ), + ] diff --git a/core/apps/common/models.py b/core/apps/common/models.py index 586d7f1..f654c26 100644 --- a/core/apps/common/models.py +++ b/core/apps/common/models.py @@ -12,6 +12,8 @@ class BaseModel(models.Model): class Banner(BaseModel): + title = models.CharField(max_length=200, null=True) + text = models.TextField(null=True) banner = models.ImageField(upload_to='banner/images/') def __str__(self): diff --git a/core/apps/common/serializers.py b/core/apps/common/serializers.py index df9bd37..e8ecfc5 100644 --- a/core/apps/common/serializers.py +++ b/core/apps/common/serializers.py @@ -42,7 +42,7 @@ class BannerListSerializer(serializers.ModelSerializer): class Meta: model = models.Banner fields = [ - 'id', 'banner' + 'id', 'banner', 'title', 'text' ] diff --git a/core/apps/common/translation.py b/core/apps/common/translation.py index 6668de0..3a1c2f7 100644 --- a/core/apps/common/translation.py +++ b/core/apps/common/translation.py @@ -3,6 +3,13 @@ from modeltranslation import translator from core.apps.common import models +@translator.register(models.Banner) +class BannerTranslation(translator.TranslationOptions): + fields = [ + 'title', 'text' + ] + + @translator.register(models.AboutUs) class AboutUsTranslation(translator.TranslationOptions): fields = [