Как вставить несколько значений в одно поле в модели - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть следующая модель

class TestModel(models.Model):
    field1 = models.TextField()
    field2 = models.CharField(max_length=200, unique=True)
    field3 = models.CharField(max_length=200)
    possibleValues = models.TextField()

Я хочу сохранить несколько значений в поле possibleValues.

Как реализовать такую ​​модель и как сохранитьэто?

1 Ответ

0 голосов
/ 19 ноября 2018

possibleValues в вашем случае TextField. Похоже, вы хотите сохранить «несколько текстовых значений» для вашей модели.

Наиболее общим способом было бы создать отдельную модель и связать их с отношением, например ::

class TestModel(models.Model):
    field1 = models.TextField()
    field2 = models.CharField(max_length=200, unique=True)
    field3 = models.CharField(max_length=200)

class TestModelValue(models.Model):
    test_model = models.ForeignKey(TestModel, related_name='possibleValues')
    value = models.TextField()

Таким образом, вы можете получить доступ ко всем значениям экземпляра модели, вызвав model.possibleValues.all().

При желании, если вы хотите использовать PostgreSQL, вы можете использовать поле, специфичное для postgres: ArrayField .

...