我在Django中有两个包含列表字段的模型:Polygon(和PolygonForm)和Line(和LineForm)。当我从一个用户那里得到一堆信息时,我会用以下方法创建新的信息:
partialPolygon = Polygon(user=1001)
polygon = PolygonForm(request.POST.copy(), instance=partialPolygon)
polygon.data['line_ids'] = json.loads(polygon.data['line_ids'])
polygon.data['order'] = json.loads(polygon.data['order'])
newPoly = polygone.save()
newLine = Line(line_id=lineId,
point_list=line['point_list'],
...
polygons=sect['polygons'],
user=1001)
newLine.save()
第二种方法效果很好。一切都保存得很好。第一种方法在大多数情况下都很好,但是总是为ListFields保存空列表,而不是传递给它的列表。我甚至可以:
^{pr2}$它会打印出一个列表[你说什么,你说什么,…]。在
你知道为什么第一个方法不能正确保存列表吗?提前谢谢!在
当ListField添加到模型中时,需要告诉它如何显示为表单,以及如何将输入作为表单输入。在我的模型中,我使用json.loads()和json.dumps文件将文本传输到表单()中。因此,当ModelForm接受一个表单作为输入并试图保存它时,它需要一个字符串,而不是一个原始列表。在
我想你需要换一下这条线
用这个
^{pr2}$相关问题 更多 >
编程相关推荐