【发布时间】:2017-08-22 16:50:15
【问题描述】:
我正在尝试更改发布请求中的值,但收到以下错误:
IntegrityError: null value in column "owner" violates not-null constraint
DETAIL: Failing row contains (30, 123, G, null) <--> (index, number, type, owner)
表单本身:
<form method="post">
{% csrf_token %}
{{form.number}}
{{form.type}}
<input type="hidden" value="{{variable}}" name="owner">
<button type="submit">Save</button>
</form>
request.POST 数据:
<QueryDict: {'csrfmiddlewaretoken': ['TN3yNiGcvAso6V1UYZDHpyIQ1sNTMqDICPSqX2sftVpZfX6drambOkzoGBECLKcN'], 'number': ['123'], 'type': ['G'], 'owner': ['']}>
修改数据:
class NodeCreateView(CreateView):
model = Node
form_class = NodeCreateForm
...
def post(self, request, **kwargs):
request.POST = request.POST.copy()
request.POST['owner'] = 2
return super(NodeCreateView, self).post(request, **kwargs)
更新后的 POST 数据:
<QueryDict: {'csrfmiddlewaretoken': ['TN3yNiGcvAso6V1UYZDHpyIQ1sNTMqDICPSqX2sftVpZfX6drambOkzoGBECLKcN'], 'number': ['123'], 'type': ['G'], 'owner': [2]}>
我哪里错了?
【问题讨论】:
标签: python django django-forms