2

逆の ForeignKey フィールドを UserAdmin に追加しようとすると、問題が発生します。

私のモデルは次のとおりです。

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!

4

1 に答える 1