2012-02-02 66 views
-2

我正尝试在django shell中使用模型保存。该模型在其中具有manytomany字段。我创建了与dict如下(Django的壳):无法在django shell中使用django模型保存多个字段

dict = {'title':'TestBlog4','slug':'test4','published':1,'sites':'example.com'} 

下面的网站是一个多对多场

然后我创建了一个表格:

blog = BlogForm(dict) 

,但是当我检查博客。 is_valid(),它给了我false.Then当我列出使用blog.errors.It错误提供了以下错误:

{'sites': [u'Enter a list of values.']} 

我会很感激,如果你能帮助reslove这样的错误或点我到一些地方,这个错误解决

感谢

+1

,而不显示模式及形成的? – 2012-02-02 08:43:08

回答

0

尝试使用的QueryDict。

from django.http import QueryDict 
from urllib import urlencode 
data = QueryDict(urlencode({...your_dict...})) 
+0

我试图通过表单类的实例保存它,但manytomany字段没有得到保存 – kabirkukreti 2012-02-02 10:50:59

+0

我试图混合这与msamoylov建议的方法,但问题仍然存在 – kabirkukreti 2012-02-02 13:30:46

+0

请附上您的模型和modelform – drul 2012-02-02 18:12:29

0

网站应该是相关网站的主键列表,而不是域名。

尝试以下操作:

example_site=Site.objects.get(domain_name="example.com") 
dict = {'title':'TestBlog4','slug':'test4','published':1,'sites':[example_site.id,]} 
+0

此方法工作正常并且验证过的表单和数据也被保存了。但是当我到达管理界面并点击“更改”博客时,它给我错误“Nonetype不可迭代”。 – kabirkukreti 2012-02-03 07:37:15

+0

除非您更新问题以包含模型,表单和完整回溯,否则很难帮助您。 – Alasdair 2012-02-03 07:47:59