在Django应用程序中,我有一个扩展AbstractUser的类: class CustomUser(AbstractUser):
uid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
...more fields that are not in the parent... 当我查看/admin/时,我看到父字段在顶部,看起来非常糟糕,密码是第一个字段。如何将子字段放在顶部?
我想使用django.contrib.auth.models.AbstractUser创建一个自定义用户模型,如djangodocs中所述:
如果您完全满意Django的用户模型,并且只想添加一些额外的配置文件信息,那么只需子类django.contrib.auth.models.AbstractUser并添加自定义配置文件字段即可。该类将默认用户的全部实现作为抽象模型提供。
因此,我在我的AbstractUser类中继承了Users类,并添加了一个字段。但是,当我运行python manage.py syncdb时,我会得到以下错误:
CommandError: One or mor
我正在尝试迁移,并查看管理页面。迁移和迁移都通过了,但是当我转到管理url时,它是这样写的:"django.db.utils.OperationalError: no this column: social_app_user.id“ 一旦我创建了一个id字段,它就变成了"django.db.utils.OperationalError: no to column: social_app_user.password“ 我的印象是AbstractUser模型包含了所有默认的用户字段,不确定主键,但不管怎样。 请帮帮忙,谢谢! 注意:此models.py文件中的'id‘字段
在Django AbstractUser模型中定义的属性是什么?
我扩展了模型:
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
pass
我是否必须为用户名、名、姓等创建自己的字段?或者他们已经被定义了?
我想扩展和定制内置的django用户模型。自定义的主要原因是,我想做电子邮件字段作为所有用户的唯一标识符,也需要添加一些额外的字段给每个用户。在阅读文档时,我找到了几个解决方案来实现我的目标。其中一个需要从AbstractBaseUser继承 class CustomUser(AbstractBaseUser):
pass 和另一个需要从AbstractUser继承的解决方案 class CustomUser(AbstractUser):
pass 但是我不明白AbstractBaseUser和AbstractUser之间的继承差异是什么
我浏览了这个线程,发现ForeignKey(使用unique=True)比OneToOneField更好,但是如何扩展类本身,即下面的示例
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
# some additional fields
或
class UserProfile(User):
# some additional fields
这两种方法之间的区别和利弊,我应该使用哪一种?
编辑:我也可以使用AbstractUser
from django.contr
我的目标是向用户添加非身份验证值。例如,简历、国籍等。我正在尝试使用自定义用户模型。我在访问这些值时遇到问题。我可以使用我创建的新软件,但不能使用first_name、last_name、email等原始软件。 我的model.py看起来像 from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
bio = models.CharField(max_length=500, blank=True)
phone
我正在制作一个应用程序,希望默认用户模型得到扩展。我想自定义一些字段,比如给用户名添加一些限制。例如,用户名必须介于4到16个字符之间,并且只能包含小写字母、短划线和点。
我的问题是,如何在django中更新这些字段?这样做的最佳实践是什么?我的模型如下。
from django.db import models
from django.contrib.auth.models import AbstractUser, UserManager
class CustomUserManager(UserManager):
pass
class CustomUser(AbstractUse
我使用AbstractUser方法扩展了django的用户模型。问题是,我的自定义字段没有显示在django管理面板中。
我的models.py:
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
is_bot_flag = models.BooleanField(default=False)
我的admin.py:
from django.contrib.auth.admin import UserAdmin
from .models import User
admin.s
我通过扩展AbstractUser定制了用户模型,而不是AbstractBaseUser,因为我不需要删除用户名,我只需要通过电子邮件对用户进行身份验证,而且我仍然想使用Django附带的身份验证系统。因此,在迁移之前,我只是将电子邮件地址定义为用户名,并扩展了AbstractUser。
但是管理员无法识别这一点,除了register指令之外,它完全忽略了我在admin.py中指定的内容。下面是我的admin.py的内容
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as Bas
我已经开始了一个django项目,将用户模型从AbstractUser扩展到我的自定义模型,这些模型与其他模型有外键关系。当我尝试用manage.py创建超级用户时,它没有创建一个用于测试的超级用户,给了我IntegrityError。我知道在RoleModel中没有记录,那么我该如何处理这种情况。我将在老师注册网站时担任角色。任何帮助我们都将不胜感激。
class TeacherModel(AbstractUser):
middle_name = models.CharField(max_length=256)
role = models.ForeignKey(RoleMod
我正在尝试扩展威廉·文森特的教程,文章如下:
我试图将新的字段添加到我通过从CustomerUser导入AbstractUser扩展的django.contrib.auth.models模型中:
用户/Models.py:
from django.db import models
from django.contrib.auth.models import AbstractUser, UserManager
class CustomUserManager(UserManager):
pass
class CustomUser(AbstractUser):
bio
Admin site user table我在django默认的管理表上扩展了我的管理表。添加列后,当我转到管理站点时,我只能在user部分看到username列名。但当单击它时,它会显示列名,并准备放置一些字段。我想要的就是在访问用户表时显示所有的列名。 我只是一个Django框架的新手,我阅读了一些文档和方法来扩展我的管理表。所有我想要的是添加现有的管理表的列名。 #models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractU
我正在尝试在django项目中创建一个定制的注册表单,但我仍然希望使用已经在字段中构建的from django.contrib.auth.forms import UserCreationForm。我已经创建了一个表单来添加字段,但我不知道如何将其添加到模型中
from django import forms
from django.contrib.auth.forms. import UserCreation
from django.contrib.auth.models import User
class SignUpForm(UserCreationForm):
email
我想提供一个Django应用程序,它通过单个数据库服务多个网站,但用户集不同。就像一个博客应用程序一样,它将被几个主题不同的域使用,但是通过向模型中添加一个站点字段来使用相同的数据库。
我用做那份工作。但问题是,我不能将不同网站的用户模型分开。我想使用相同的用户模型的网站字段和电子邮件字段,每个网站唯一。
我试图像这样扩展AbstractUser模型:
from django.contrib.auth.models import AbstractUser
from django.contrib.sites.models import Site
from django.contrib.sites
我在Django中使用抽象模型,比如:
class Tree(models.Model):
parent = models.ForeignKey('self', default=None, null=True, blank=True,
related_name="%(app_label)s_%(class)s_parent")
class Meta:
abstract = True
class Genre(Tree):
title = models.Char
我已经设置了Django (1.8)管理,允许超级用户以交互方式创建新用户。我的用户模型是使用AbstractUser定制的,这意味着我的管理文件如下所示:
admin.py
from django.contrib import admin
from app.models import CPRUser
class UserAdmin(admin.ModelAdmin):
model = CPRUser
extra = 1
admin.site.register(CPRUser, UserAdmin)
下面是模型:
class CPRUser(AbstractUser):
from django.contrib.auth import get_user_model
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractUser):
pass
class Landlord(models.Model):
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
#other fields
def __str__(self):
# **Er