在Django中添加UserAdmin反向ForeignKey管理

时间:2013-04-09 18:24:43

标签: python django

当我尝试向UserAdmin添加反向ForeignKey字段时遇到问题:

我的模特是:

from django.contrib.auth.models import User

class Test(models.Model):
    title = models.TextField()
    layout = models.TextField(blank=True, null=True)
    answer = models.TextField(blank=True, null=True)
    todo_set = models.ManyToManyField(User, blank=True, null=True)

因此在User模型中有一个test_set属性。现在我想在用户更改视图中管理这个m2m关系,因此必须有一个关于test_set的选定字段。

我试过了:

from django.contrib.auth.admin import UserAdmin

custom_fieldsets = list(UserAdmin.fieldsets)
custom_fieldsets.append((None, {'fields': ('test_set', )}))

class CustomUserAdmin(UserAdmin):
    fieldsets = custom_fieldsets

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

但Django提出错误:

'CustomUserAdmin.fieldsets[4][1]['fields']' refers to field 'test_set' that is missing from the form.

我该怎么办? THX!

1 个答案:

答案 0 :(得分:0)

想知道你是否可以使用ModelMultipleChoiceField。看看这个post