【发布时间】:2011-12-16 04:27:26
【问题描述】:
有一个类似这样的类定义
class someClass(models.Model):
field1 = models.ForeignKey('other_app.field4')
field2 = models.ManyToManyField('other_app.field5')
variable_name = [1-char choices]
field3 = models.CharField(max_length=1, choices=variable_name, blank=True)
当我尝试在管理面板中编辑此类时,我得到:
TypeError at /admin/[app]/[someClass]/add/
假设它与 ManytoMany 字段有关,有什么明显的解决方法吗?
更新:好的,所以我发现了问题:我的伙伴编写的代码有一个迭代 __str__ 函数:
def __str__(self):
str_rep = '%s for ' % (self.field1)
for p in self.field2:
str_rep += str(p) + self.field3
关于如何重写这个有什么想法吗?
【问题讨论】:
-
请提供更多异常详情。
-
TypeError at /admin/[app]/[someClass]/add/ ManyRelatedManager' object is not iterable Request Method: POST Request URL: http://localhost:8000/admin/[app]/[someClass]/add/ Django Version: 1.3.1 Exception Type: TypeError Exception Value: 'ManyRelatedManager' object is not iterable -
你能发布回溯吗?我们在这里处于黑暗之中!什么试图迭代许多相关的经理?你确定你没有做过
for i in someClass.field2之类的事情吗?
标签: django django-admin many-to-many