[Python] IntegrityError at /admin/api/user/6/change/ FOREIGN KEY constraint failed

Discussão em 'Python' iniciado por Stack, Maio 31, 2025.

  1. Stack

    Stack Membro Participativo

    I am developing a website on django. When I am trying to delete a user via admin panel i get an error. I can change e.g. staff status (while still getting an error, but changes are getting apllied) The code is below:

    models.py

    from django.contrib.auth.models import AbstractUser
    from django.db import models


    class User(AbstractUser):

    emailSpam = models.BooleanField(default=True)
    email = models.EmailField('email', unique=True)

    first_name = None
    last_name = None

    confirmedEmail = models.BooleanField(default=False)

    REQUIRED_FIELDS = ["emailSpam"]


    forms.py

    from django.contrib.auth.forms import UserCreationForm, UserChangeForm

    from .models import User


    class CustomUserCreationForm(UserCreationForm):

    class Meta:
    model = User
    fields = ('email',)


    class CustomUserChangeForm(UserChangeForm):

    class Meta:
    model = User
    fields = ('email',)


    admin.py

    from django.contrib import admin
    from django.contrib.auth.admin import UserAdmin

    from .forms import CustomUserCreationForm, CustomUserChangeForm
    from .models import User


    class Admin(UserAdmin):
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    model = User
    list_display = ('email', 'is_staff', 'is_active',)
    list_filter = ('email', 'is_staff', 'is_active',)
    fieldsets = (
    (None, {'fields': ('email', 'password')}),
    ('Permissions', {'fields': ('is_staff', 'is_active')}),
    )
    add_fieldsets = (
    (None, {
    'classes': ('wide',),
    'fields': ('email', 'password1', 'password2', 'is_staff', 'is_active')}
    ),
    )
    search_fields = ('email',)
    ordering = ('email',)


    admin.site.register(User, Admin)


    [​IMG]

    Continue reading...

Compartilhe esta Página