简体   繁体   English

如何在 Django Model 中存储列表?

[英]How to stock a list in a Django Model?

I'm trying to stock a list in a Django Model like this:我正在尝试在 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 = []

But I don't think that it's the best way to stock a list, because I have an error when i want to create an element (like this):但我不认为这是存储列表的最佳方式,因为当我想创建一个元素时出现错误(像这样):

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

"Search() got an unexpected keyword argument 'contains'" “Search() 得到了一个意外的关键字参数‘包含’”

Do you know if there is a better way to stock lists in django models or if I have to do this in another way?你知道在 django 型号中是否有更好的方法来库存清单,或者我是否必须以其他方式这样做?

Thanks谢谢

You need to use django's ArrayField so that you can stock your list into your model.您需要使用 django 的ArrayField ,以便您可以将列表存入 model。

Use this code for your model:将此代码用于您的 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 = ArrayField(models.CharField(max_length=200), blank=True) #---> Set as per your requirements

Documentation: https://docs.djangoproject.com/en/4.1/ref/contrib/postgres/fields/#arrayfield文档: https://docs.djangoproject.com/en/4.1/ref/contrib/postgres/fields/#arrayfield

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM