【发布时间】:2021-11-17 05:50:21
【问题描述】:
不支持查找 JSONField 的“名称”或不允许加入该字段。
错误: /search/ 处的字段错误
不支持查找 JSONField 的“名称”或不允许加入该字段。
views.py
query = request.GET.get('search')
if query:
product_list = product_list.filter(
Q(product_name__icontains=query) |
Q(brand__brand_name__icontains=query) |
Q(model__name__icontains=query) |
Q(gtin_no__icontains=query) |
Q(oem_no__icontains=query) |
Q(tag__icontains=query)
)
models.py
product_name = models.CharField(max_length=300)
slug = models.SlugField(unique=True, editable=False, max_length=300)
category = models.ForeignKey('ProductCategory', null=False, on_delete=models.CASCADE, max_length=100)
brand = models.ManyToManyField('Brand', null=True, max_length=100)
model = JSONField(null=True, max_length=10000)
product_code = models.CharField(blank=True, max_length=20)
gtin_no = JSONField(blank=True, max_length=10000)
oem_no = JSONField(blank=True, null=True, max_length=10000)
tag = JSONField(blank=True, null=True, max_length=10000, default=None)
示例模型 JSON 数据:
{
"data": "[['Car Parts', 'Ssangyong'], ['Industrial Parts', 'Lombardini'], ['Mercedes-Benz Sprinter', 'Sprinter OM 601, OM 602 DE LA']]"
}
GTIN JSON 数据示例:
{
"data": [
"4047755219970"
]
}
OEM JSON 数据示例:
{
"data": [
"624 320 0028",
"625 320 0028"
]
}
有时这个 JSON 数据可能是空的。
{
"data": [
"None"
]
}
【问题讨论】:
标签: python json django django-views