здесь дубликаты полей в полях - PullRequest
0 голосов
/ 07 ноября 2018

Этот класс вызывает системную проверку ошибки django. Конкретная ошибка, которая возникает, приведена ниже. Я просмотрел предыдущие посты, в которых говорилось, что это ошибка, возникшая в результате перехода на django 2.1 и добавления запятой в конце поля, исправившего ее. Это не работает для меня. Любая помощь будет принята с благодарностью.

SystemCheckError: System check identified some issues:
ERRORS:
<class 'app.admin.user.UserAdmin'>: (admin.E012) There are duplicate field(s) in 'fieldsets[1][1]'.
<class 'app.admin.user.UserAdmin'>: (admin.E012) There are duplicate field(s) in 'fieldsets[2][1]'.
<class 'app.admin.user.UserAdmin'>: (admin.E012) There are duplicate field(s) in 'fieldsets[3][1]'.

@register(User)
class UserAdmin(ModelAdmin):
    fieldsets = (
        (None, {'fields': ('email', 'password',)}),
        ('Personal info', {
            'fields': ('first_name', 'last_name', 'email',)}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser',
                                       'groups', 'user_permissions',)}),
        ('Important dates', {'fields': ('last_login', 'date_joined',)})
    )
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'password1', 'password2',),
        }),
    )
    list_display = ('email', 'first_name', 'last_name', 'username', 'is_staff')
    list_filter = ('is_staff', 'is_superuser', 'is_active', 'groups',)
    search_fields = ('email', 'first_name', 'last_name',)
    ordering = ('email',)
    filter_horizontal = ('groups', 'user_permissions',)

1 Ответ

0 голосов
/ 28 февраля 2019

У меня была точно такая же ошибка, хотя кажется, что 'email' уникален в каждом кортеже, он должен быть уникальным во всех кортежах 'fieldsets'.

(None, {'fields': ('email', 'password',)})

Там вы говорите, что «электронная почта» является основным полем, а

('Personal info', { 'fields': ('first_name', 'last_name', 'email',)})

говорит, что «электронная почта» - это поле «Личная информация». Вы должны выбрать.

Удаление второго является решением, как @ Selcuk .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...