32 lines
1010 B
Python
32 lines
1010 B
Python
from django.db import models
|
|
from django.utils.translation import gettext_lazy as _
|
|
from django_core.models import AbstractBaseModel
|
|
from django.contrib.postgres.fields import ArrayField
|
|
|
|
|
|
class SettingsModel(AbstractBaseModel):
|
|
key = models.CharField(_("key"))
|
|
is_public = models.BooleanField(_("is public"), default=False)
|
|
description = models.TextField(_("description"), blank=True, null=True)
|
|
|
|
class Meta:
|
|
db_table = "settings"
|
|
verbose_name = _("Settings")
|
|
verbose_name_plural = _("Settings")
|
|
|
|
|
|
class OptionsModel(models.Model):
|
|
settings = models.ForeignKey(
|
|
"SettingsModel", verbose_name=_("settings"), on_delete=models.CASCADE, related_name="options"
|
|
)
|
|
key = models.CharField(_("key"), max_length=255)
|
|
value = ArrayField(
|
|
models.CharField(_("value"), max_length=255),
|
|
verbose_name=_("value"),
|
|
)
|
|
|
|
class Meta:
|
|
db_table = "options"
|
|
verbose_name = _("Options")
|
|
verbose_name_plural = _("Options")
|