django如何在数据库存储列表
时间: 2023-12-11 18:05:09 浏览: 20
在 Django 中,可以使用 `ArrayField` 来存储 Python 列表。`ArrayField` 是 Django 内置的一个字段类型,用于表示 Postgres 数据库中的数组字段。
首先,需要在 `models.py` 中导入 `ArrayField`:
```python
from django.db import models
from django.contrib.postgres.fields import ArrayField
```
然后,可以在模型中使用 `ArrayField`:
```python
class MyModel(models.Model):
my_list = ArrayField(models.CharField(max_length=50), blank=True, null=True)
```
上述代码中,`MyModel` 模型中的 `my_list` 字段是一个数组类型,其中 `models.CharField(max_length=50)` 表示数组中的每个元素都是一个最大长度为 50 的字符型字段。`blank=True` 和 `null=True` 表示该字段可以为空。
在使用 `my_list` 字段时,可以像普通 Python 列表一样进行操作:
```python
m = MyModel.objects.create(my_list=['a', 'b', 'c'])
print(m.my_list) # ['a', 'b', 'c']
m.my_list.append('d')
m.save()
print(m.my_list) # ['a', 'b', 'c', 'd']
```