如何将多个值插入模型中的相同字段

时间:2018-11-19 09:40:10

标签: django django-rest-framework

我的模型如下

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 :(得分:0)

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