0

我有几个字段的模型表单按预期工作。现在,出于特定原因,我需要查看表单字段,但在查看'EditPostForm' object has no attribute 'about'时出现错误mydata1 = form.about。但是关于场当然存在。form.data.about也不会工作等。所以我怎么能得到它?谢谢。

4

1 回答 1

1

如果您的表单有与之关联的实例,您可以尝试

post = EditPost.objects.get(id=id)
form1 = EditPostForm(instance=post)
form1.instance.about

根据您在下面的评论,如果您使用的是ManyToMany 关系,您可以获得的值为

>>> bf = BookForm(instance=book)
>>> bf.instance.authors
<django.db.models.fields.related.ManyRelatedManager object at 0x0000000004658B38>
>>> bf.instance.authors.all() #which returns a query set of related objects
[<Author: Kotian>]
>>> bf.instance.authors.all()[0]
<Author: Kotian>
>>> bf.instance.authors.all()[0].name
u'Kotian'

或基于您如何定义多对多

>>> af = AuthorForm(instance=author)
>>> af.instance.name
u'MyName'
>>> af.instance.book_set
<django.db.models.fields.related.ManyRelatedManager object at 0x0000000004658C18>
>>> af.instance.book_set.all() # returns queryset
[<Book: Book object>, <Book: Book object>]
>>> af.instance.book_set.all()[0] #accessing first object here
<Book: Book object>
>>> af.instance.book_set.all()[0].name
u'Lepord'
于 2013-03-20T22:15:35.657 回答