Как хранить список в модели Django?

Я пытаюсь создать список в Django Model следующим образом :

class Search(models.Model):
    result = models.CharField(max_length=100,
                              null=True, blank=True)
    name = models.BooleanField(default=True)
    eotp = models.BooleanField(default=True)
    reference = models.BooleanField(default=True)
    date = models.BooleanField(default=True)
    contains = []

Но я не думаю, что это лучший способ создания списка, потому что у меня возникает ошибка, когда я хочу создать элемент (как здесь):

new_search = Search(result=result, name=name, eotp=eotp, reference=reference, date=date, contains=contains)

"Search() получил неожиданный аргумент ключевого слова 'contains'"

Вы знаете, есть ли лучший способ создания списков в моделях django или я должен сделать это другим способом?

Спасибо

Вам нужно использовать ArrayField django, чтобы вы могли складывать ваш список в вашу модель.

Используйте этот код для вашей модели:



class Search(models.Model):
    result = models.CharField(max_length=100,
                              null=True, blank=True)
    name = models.BooleanField(default=True)
    eotp = models.BooleanField(default=True)
    reference = models.BooleanField(default=True)
    date = models.BooleanField(default=True)
    contains = ArrayField(models.CharField(max_length=200), blank=True) #---> Set as per your requirements

Документация: https://docs.djangoproject.com/en/4.1/ref/contrib/postgres/fields/#arrayfield

Вернуться на верх