关系“account_account_groups”不存在第 1 行:...“auth_group”.“name” FROM “auth_group” INNER JOIN “account_a

时间:2021-06-04 15:57:42

标签: django

admin.py

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from account.models import Account



class AccountAdmin(UserAdmin):
list_display = ('email','username','date_joined', 'last_login','is_admin','is_staff')
search_fields = ('email','username',)
readonly_fields=('id', 'date_joined', 'last_login')

filter_horizontal = ()
list_filter = ()
fieldsets = ()

admin.site.register(Account, AccountAdmin)

models.py

from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
from django.contrib.auth.models import PermissionsMixin


class MyAccountManager(BaseUserManager):
def create_user(self, email, username, password=None):
    if not email:
        raise ValueError('Users must have an email address')
    if not username:
        raise ValueError('Users must have a username')

    user = self.model(
        email=self.normalize_email(email),
        username=username,
    )

    user.set_password(password)
    user.save(using=self._db)
    return user

def create_superuser(self, email, username, password):
    user = self.create_user(
        email=self.normalize_email(email),
        password=password,
        username=username,
    )
    user.is_admin = True
    user.is_staff = True
    user.is_superuser = True
    user.save(using=self._db)
    return user

def get_profile_image_filepath(self, filename):
return 'profile_images/' + str(self.pk) + '/profile_image.png'

def get_default_profile_image():
return "chatapp/default.png"


class Account(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(verbose_name="email",max_length=60, unique=True)
username = models.CharField(max_length=30, unique=True)
date_joined = models.DateTimeField(verbose_name="date joined", auto_now_add=True)
last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
is_admin = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
profile_image = models.ImageField(max_length=255, upload_to=get_profile_image_filepath, null=True, blank=True, default=get_default_profile_image)

hide_email  = models.BooleanField(default=True)

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


objects = MyAccountManager()


def __str__(self):
    return self.username

def get_profile_image_filename(self):
    return str(self.profile_image)[str(self.profile_image).index('profile_images/' + str(self.pk) + "/"):]

# For checking permissions. to keep it simple all admin have ALL permissons
def has_perm(self, perm, obj=None):
    return self.is_admin

# Does this user have permission to view this app? (ALWAYS YES FOR SIMPLICITY)
def has_module_perms(self, app_label):
    return True

它给出了错误: /admin/account/account/2/change/处的编程错误 关系“account_account_groups”不存在 第 1 行:... "auth_group"."name" FROM "auth_group" INNER JOIN "account_a...

当我在管理面板中点击用户的电子邮件地址时

非常感谢! :)

0 个答案:

没有答案