Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django ForeignKey在模型表单中验证错误_Python_Django_Validation_Modelform - Fatal编程技术网

Python Django ForeignKey在模型表单中验证错误

Python Django ForeignKey在模型表单中验证错误,python,django,validation,modelform,Python,Django,Validation,Modelform,我正在使用一个包含ForeignKey的Modelform。ForeignKey字段是用ajax填充在模板中的,因此我在视图中只得到一个字符串(在本例中是一个名称)。POST数据如下所示: {'text': 'test', 'author': 'firstname lastname'} 我要做的是: postdata = request.POST.copy() postdata['author'] = Author.objects.get(slug=slugify(postdata['auth

我正在使用一个包含ForeignKey的Modelform。ForeignKey字段是用ajax填充在模板中的,因此我在视图中只得到一个字符串(在本例中是一个名称)。POST数据如下所示:

{'text': 'test', 'author': 'firstname lastname'}
我要做的是:

postdata = request.POST.copy()
postdata['author'] = Author.objects.get(slug=slugify(postdata['author']))

form = MyModelForm(postdata)
if form.is_valid():
    ...
但是我得到了这个错误:

ValueError: Cannot assign "u'firstname lastname'": "Quote.author" must be a "Author" instance.
如果我在python shell中执行相同的操作,我会得到相同的错误,但是如果我再次执行
form.is\u valid()
,则一切正常(表单验证)。发生了什么事

提前感谢,祝你一切顺利,
Jacques

表单接收的author字段是否仍然是unicode(而不是“author”对象)?能否在if语句之前插入pdb并打印postdata的内容
import pdb
pdb.set_trace()
postdata的内容是:因此它肯定是一个Author对象。