如何允许在django管理面板中编辑多对多关系

如何允许在django管理面板中编辑多对多关系,django,django-admin,many-to-many,Django,Django Admin,Many To Many,有一个类似这样的类定义 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_n

有一个类似这样的类定义

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/
假设它与许多字段有关,有什么明显的解决方法吗


更新:好的,所以我解决了问题:我的搭档写的代码有一个迭代的
\uuu str\uu
函数:

def __str__(self):
    str_rep = '%s for ' % (self.field1)
    for p in self.field2:
        str_rep += str(p) + self.field3

有没有关于如何重写的想法?

以后,试着发布一个实际的回溯和相关的代码行。它会告诉我们这个密码到底在哪里被破解

字段2
不可编辑。您需要通过调用
all()
filter(…)
ManyRelatedManager
获取
QuerySet


请提供更多异常详细信息。
TypeError at/admin/[app]/[someClass]/add/ManyRelatedManager'对象不可编辑请求方法:POST请求URL:http://localhost:8000/admin/[应用程序]/[someClass]/add/Django版本:1.3.1异常类型:TypeError异常值:“ManyRelatedManager”对象不可编辑
是否可以发布回溯?我们在黑暗中!什么在试图迭代多个相关的管理器?你确定你没有在someClass.field2中为我做过类似的
def __str__(self):
    str_rep = '%s for ' % (self.field1)
    for p in self.field2.all():
        str_rep += str(p) + self.field3