【发布时间】:2014-05-11 17:04:54
【问题描述】:
我在 Django 中有两个包含 ListFields 的模型: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 保存空列表,而不是传递给它的列表。我什至可以:
print polygon.data['line_ids']
它会打印出一个列表 [u'bla bla',u'bla bla',...]。
知道为什么第一种方法不能正确保存列表吗?提前致谢!
【问题讨论】:
标签: python django django-models django-forms listfield