Редактирование прав пользователя в админке django, для пользовательской модели пользователя

У меня есть пользовательская модель пользователя, как показано ниже:

class Account(AbstractBaseUser):
    email = models.EmailField(verbose_name='ایمیل', max_length=60, unique=True)
    username = models.CharField(verbose_name='نام کاربری', max_length=30, unique=True)
    ...

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    objects = MyAccountManager()

    def __str__(self):
        return self.email

    def has_perm(self, perm, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return True

Затем я пишу такой код в файле admin.py:

    @admin.register(Account)
class PersonAdmin(ImportExportModelAdmin):
    list_display = ('email', 'username', 'phone_number', 'chart_level', 'chart_view_count')
    list_filter = ("is_admin", 'is_active', 'is_staff', 'chart_level', 'is_plus')
    search_fields = ['username', 'email', 'phone_number', 'referral_code']
    readonly_fields = ("date_joined", "last_login", "chart_view_count", "id")

    fieldsets = (
        ('اطلاعات فردی', {
            'classes': ('collapse',),
            'fields': ('email', 'username', 'phone_number', 'telegram_user_id', 'profile_image', 'date_joined',
                       'last_login', 'is_english', 'is_foreign', 'chart_view_count', 'password')
        }),
        ('اطلاعات خرید', {
            'classes': ('collapse',),
            'fields': ('used_referral_code', 'total_pay_r', 'total_pay_c', 'is_using_discount', 'using_discount_code',
                       'current_transaction_address', 'referral_code', 'is_first_payment')
        }),
        ('سطح کاربری', {
            'classes': ('collapse',),
            'fields': ('chart_level', 'is_plus', 'expiration_date', 'reserved_trader', 'is_admin', 'is_active',
                       'is_staff', 'is_superuser', 'groups', 'user_permissions')
        }),
    )

Он отлично работает для тысяч пользователей. Теперь я хочу добавить права пользователя для изменения страницы пользователя в панели администратора, поэтому я добавляю "PermissionsMixin" следующим образом:

class Account(AbstractBaseUser, PermissionsMixin):
...

затем я попытался мигрировать и получил эту ошибку: django.db.utils.ProgrammingError: there is no unique constraint matching given keys for referenced table "accounts_account"

что мне делать?

Вернуться на верх