Подключение к таблице Django на основе типа значения
Мне очень нужна помощь с этой проблемой, потому что я почему-то не могу ее решить. Проблема:
У меня есть таблица Parameter, в которой хранятся параметры. Я хочу хранить значения в разных параметрах, основываясь на типе параметра
Вот модели типов:
class JsonParameter(models.Model):
value = models.JSONField()
class StringParameter(models.Model):
value = models.CharField(max_length=100)
class DateParameter(models.Model):
value = models.DateField()
И у меня есть параметрическая модель:
class Parameter(TimeStampedModel):
name = models.CharField(max_length=64)
is_mandatory = models.BooleanField(default=True)
value = SomekindOfMagic()
Итак, если я хочу создать некоторые параметры, например, такие
param_1 = Parameter.objects.create(name="name of the param", is_mandatory=True, value="This is a string value")
param_2 = Parameter.objects.create(name="name of the param", is_mandatory=True, value='{"object": "string"}')
param_3 = Parameter.objects.create(name="name of the param", is_mandatory=True, value="2022-03-20")
Значение param_1.value будет сохранено в таблице StringParameter, значение param_2.value будет сохранено в таблице JsonParameter, а значение param_3.value будет сохранено в таблице DateParameter и Parameter.value будет содержать внешний ключ типа object.
Могу ли я использовать общий внешний ключ для этого? Или я должен использовать что-то другое? Есть ли какое-нибудь решение для этого?
Спасибо, ребята :)