Python Django ForeignKey在模型表单中验证错误
我正在使用一个包含ForeignKey的Modelform。ForeignKey字段是用ajax填充在模板中的,因此我在视图中只得到一个字符串(在本例中是一个名称)。POST数据如下所示: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
{'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对象。