@MAGistr_MTM
Учусь программировать

Как создать такие модели?

У меня есть следующая структура:
class Profile(models.Model):
    name = models.CharField(max_length=128)


class Characteristic(models.Model):
    name = models.CharField(max_length=128)


class ProfileCharacteristic(models.Model):
    profile = models.ForeignKey('profiles.Profile', on_delete=models.CASCADE, related_name='profile_characteristics')
    characteristic = models.ForeignKey('characteristic.Characteristic', on_delete=models.CASCADE, related_name='profile_characteristics')
    # следующие поля я б хотел упростить/изменить
    value_text = models.TextField(null=True)
    value_number = models.FloatField(null=True)
    value_range = ArrayField(models.FloatField(), size=2, null=True)
    value_list = ArrayField(models.CharField(max_length=128), null=true)

Другими словами, есть профиль, который формируется посредством комбинации характеристик и их допустимых значений(число, диапазон, список). Потом тот профиль присваивается для какого-то продукта.

Например дял бумаги.
Характеристики:
  • Белизна
  • Яркость

Профиля:
Клас А:
  • Яркость: 98-112
  • Белизна: 164-169

Клас Б:
  • Яркость: 94-95
  • Белизна: 160-163

Надесь суть понятна. Теперь к вопросу. Как мне упростить(сделать лучше) связи в моделях?
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
ты сделай как можешь, а после профилирования - поменяешь

заодно и ходьбу по миграциям освоишь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы