feat(settings): History Model for App Settings Version added

ref: #605 #642
This commit is contained in:
2025-02-20 22:32:04 +09:30
parent 4bf54babb2
commit 701608b3ed
2 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,29 @@
# Generated by Django 5.1.5 on 2025-02-20 11:50
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0019_data_move_history_to_new_table'),
('settings', '0011_externallinkhistory'),
]
operations = [
migrations.CreateModel(
name='AppSettingsHistory',
fields=[
('modelhistory_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelhistory')),
('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='history', to='settings.appsettings', verbose_name='Model')),
],
options={
'verbose_name': 'App Settings History',
'verbose_name_plural': 'App Settingsk History',
'db_table': 'settings_appsettings_history',
'ordering': ['-created'],
},
bases=('core.modelhistory',),
),
]

View File

@ -0,0 +1,53 @@
from django.db import models
from core.models.model_history import ModelHistory
from settings.models.app_settings import AppSettings
class AppSettingsHistory(
ModelHistory
):
class Meta:
db_table = 'settings_appsettings_history'
ordering = ModelHistory._meta.ordering
verbose_name = 'App Settings History'
verbose_name_plural = 'App Settingsk History'
model = models.ForeignKey(
AppSettings,
blank = False,
help_text = 'Model this note belongs to',
null = False,
on_delete = models.CASCADE,
related_name = 'history',
verbose_name = 'Model',
)
table_fields: list = []
page_layout: dict = []
def get_object(self):
return self
def get_serialized_model(self, serializer_context):
model = None
from settings.serializers.app_settings import AppSettingsBaseSerializer
model = AppSettingsBaseSerializer(self.model, context = serializer_context)
return model