Django에는 ListFields : Polygon (및 PolygonForm)과 Line (및 LineForm)의 두 모델이 있습니다. 사용자로부터 전달 된 많은 정보를 얻으면 다음을 사용하여 새 정보를 만듭니다.ListField가 Django ModelForm에 저장되지 않습니다.
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()
두 번째 방법은 훌륭합니다. 모든 것이 잘 저장됩니다. 첫 번째 부분은 대부분 잘 작동하지만 전달 된 목록 대신 항상 ListField에 대한 빈 목록을 저장합니다. 나는 할 수있다 :
print polygon.data['line_ids']
그리고 그것을 출력한다 [u'bla bla ', u'bla bla', ...].
첫 번째 방법으로 목록을 제대로 저장하지 못하는 이유는 무엇입니까? 미리 감사드립니다!
아무 것도 변경되지 않습니다. 하나는 내가 생각하는 어느쪽으로 든 사용할 수 있습니다. (시도하고 이것도 작동하지 않습니다) – roboguy222