db_kyc_project/backend/misc/admin.py
Даня Вакуленков 4a18a785e9 Add backend code
2024-12-10 23:31:35 +03:00

41 lines
1.0 KiB
Python

from decimal import Decimal
from django.contrib import admin
from django.forms import ModelForm, CharField
from misc.models import Setting
class SettingForm(ModelForm):
value = CharField(label='Значение')
class Meta:
model = Setting
exclude = ('value',)
def save(self, commit=True):
setting = super(SettingForm, self).save(commit=False)
setting.value = dict()
if self.cleaned_data['value'].isdigit():
setting.value['value'] = int(self.cleaned_data['value'])
elif self.cleaned_data['value'] in ('true', 'false'):
setting.value['value'] = self.cleaned_data['value'] == 'true'
else:
setting.value['value'] = self.cleaned_data['value']
if commit:
setting.save()
return setting
@admin.register(Setting)
class SettingAdmin(admin.ModelAdmin):
form = SettingForm
list_display = [
'id',
'name',
'description',
'display_value'
]
list_display_links = [
'id'
]