【发布时间】:2019-12-24 03:11:47
【问题描述】:
我正在尝试为酒店系统保存一个包含类别类型的文本数组,它看起来像这样 ['category-1', category-2', category-3, category-4] 。我在我的 models.py 中使用category_type = ArrayField(models.CharField(max_length=200),null=True)
我得到的错误是
格式错误的数组字面量:"" LINE 1: ..., '{category-1, category-2}'::varchar(200)[], ''::varcha... ^ DETAIL: 数组值必须以“{”或维度信息开头。
即使处理了从['category-1', category-2', category-3, category-4] 到{category-1, category-2, category-3, category-4} 的python 列表,错误仍然存在。
我浏览了 postgresql 文档,发现帮助非常有限,
https://pganalyze.com/docs/log-insights/app-errors/U114 这与我面临的问题类似。
有人可以告诉我我做错了什么吗?任何帮助将不胜感激。
编辑: 以下是我的 View.py
hotel_category=categoryTable(category_type=categorytype)
hotel_category.save()
我在 Views.py 中使用categorytype=request.POST.getlist('category-type') 在用户提交表单后从 POST 请求中获取它。这将返回一个我在上面提到的 Python 列表,我已经操纵了这个列表来匹配 PostgreSQL ArrayField 和 '{','}' 但我仍然有这个错误。如果您还有什么想让我补充的,请告诉我。 :)
【问题讨论】:
-
您能否包含将值分配给
category_type并调用save()方法的实际代码? -
@FlipperPA 我已经编辑了我的问题并在最后添加了更多详细信息:)
-
你使用的是什么版本的 django?
-
@mattjegan Django 版本 2.2.2
-
你们看过了吗?
标签: django postgresql django-models django-postgresql