标签: django-custom-user

heroku:关系"auth_group"不存在

我在heroku上执行syncdb时遇到问题.我有一个自定义用户模型,当我尝试同步时,heroku给出了这个错误.

django.db.utils.ProgrammingError: relation "auth_group" does not exist
Run Code Online (Sandbox Code Playgroud)

我尝试过python manage.py makemigrations但没有任何问题得到解决.帮我找到解决方案.

django postgresql heroku syncdb django-custom-user

3
推荐指数
1
解决办法
2068
查看次数

如何在django中为自定义用户添加组?

在Django中使用这个官方文档自定义身份验证创建了用户的自定义模型 但是如何添加组和提交?我的django是版本1.9

python django django-models django-authentication django-custom-user

3
推荐指数
2
解决办法
3274
查看次数

"django.contrib.admin.sites.NotRegistered:模型用户未注册"当想要注册我的自定义用户时,我收到此错误.

我通过电子邮件覆盖默认模型AbstractUse进行授权.

applications.account.models.py

# -*- coding: utf-8 -*-
import datetime

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

class User(AbstractUser):

class Meta(AbstractUser.Meta):
    swappable = 'AUTH_USER_MODEL'

USERNAME_FIELD = 'email'
Run Code Online (Sandbox Code Playgroud)

applications.account.admin.py 并在admin.py文件中使用我的自定义用户.我尝试了未注册的默认用户模型并注册自定义.

# -*- coding: utf-8 -*-
from django.contrib import admin
from django.http import HttpResponseRedirect
from django.contrib.auth.models import User

from modeltranslation.admin import TabbedTranslationAdmin
from applications.account.models import Profile, Phone, ShippingAddress, PartnerGC, Referral, Operation
from applications.account.models import User as MyUser


class UserInline(admin.StackedInline):
    model = Profile
    max_num = 1
    can_delete = False


class OperationInline(admin.StackedInline):
    model = …
Run Code Online (Sandbox Code Playgroud)

python django django-custom-user

3
推荐指数
1
解决办法
3394
查看次数

在 Django 中的 M2M 关系上使用“通过”参数的原因

简洁的问题:
在不使用through参数的情况下,在外部表上对 Django (1.5) 中的多对多关系建模有什么优点和缺点?

详细信息:
说,我有一个自定义用户模型UserProfile,我想定义与同一模型的 m2m 关系,例如实现以下关系。我可以像这样定义一个外部表(模型):

class Relationship(models.Model):
    """Relationship model"""
    from_user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='from_users')
    to_user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='to_users')
    created = models.DateTimeField(auto_now_add=True)
    is_blocked = models.BooleanField(default=False)
    objects = RelationshipManager()
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我应该向 UserProfile 模型添加一个 m2m 字段,如下所示?如果是,为什么?我只能使用关系模型处理用户之间的所有关系,不是吗?

class UserProfile(AbstractBaseUser, PermissionsMixin):
    user_following = models.ManyToManyField('self', through=Relationship, symmetrical=False, related_name='followed')
Run Code Online (Sandbox Code Playgroud)

django django-orm django-users django-custom-user

2
推荐指数
1
解决办法
1483
查看次数

RegisterForm() 缺少 1 个必需的位置参数:“请求”

所以我正在制作一个自定义用户模型。这就是我在这里关注的内容。我一直在遵循教程,但仍然无法完成。

错误:RegisterForm() 缺少 1 个必需的位置参数:“请求”。

这是我的代码。

表格.py

from django import forms
from django.contrib.auth.forms import ReadOnlyPasswordHashField

from .models import User

class UserAdminCreationForm(forms.ModelForm):
    """
    A form for creating new users. Includes all the required
    fields, plus a repeated password.
    """
    password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
    password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput)

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

    def clean_password2(self):
        # Check that the two password entries match
        password1 = self.cleaned_data.get("password1")
        password2 = self.cleaned_data.get("password2")
        if password1 and password2 and password1 …
Run Code Online (Sandbox Code Playgroud)

django django-custom-user

2
推荐指数
1
解决办法
3652
查看次数

Django 中的自定义用户测试

我有一个 Django 应用程序和自定义用户 - 想要测试它(进行单元测试)。我的自定义用户是 emailuser,它由电子邮件和密码字段组成。我想设置一些这样的国家mplayer,给它一个字段和一个密码。但是我下面的代码不起作用。

设置.py

AUTH_USER_MODEL = 'custom_user.EmailUser'
Run Code Online (Sandbox Code Playgroud)

我在 test.py 中的代码

from django.test import TestCase
from django.conf import settings

class MyTest(TestCase):
    def setUp(self):
        self.user = settings.AUTH_USER_MODEL.objects.create('testuser@test.pl', 'testpass')

    def test_user(self):
        self.assertEqual(self.user, 'testuser@test.pl')
Run Code Online (Sandbox Code Playgroud)

python django unit-testing django-custom-user

1
推荐指数
1
解决办法
1281
查看次数

为什么修改 AUTH_USER_MODEL 似乎需要子类 AbstractUser?

创建项目、应用程序并将该应用程序添加到我的 后INSTALLED_APPS,我尝试通过AbstractUser在我的 中进行子类化来创建自定义用户类models.py

from django.contrib.auth.models import AbstractUser

class CustomUser(AbstractUser):
    pass
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行makemigrations并收到此错误:

SystemCheckError: System check identified some issues:

ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'CustomUser.groups'.
    HINT: Add or change a related_name argument to the definition for 'User.groups' or 'CustomUser.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'CustomUser.user_permissions'.
    HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'CustomUser.user_permissions'.
main.CustomUser.groups: (fields.E304) …
Run Code Online (Sandbox Code Playgroud)

django django-custom-user django-migrations

1
推荐指数
1
解决办法
1089
查看次数

Django CreateView 自动填充自定义用户

我想使用 Django 的 GCBV CreateView使用created_by当前用户自动填充模型上的字段。官方文档在这里有一个很好的例子,但我使用的是自定义用户模型,但无法使其工作。

这是我当前的设置:

# models.py
from django.conf import settings
from django.contrib.auth.models import User
from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=200)
    created_by = models.ForeignKey(
        settings.AUTH_USER_MODEL, 
        on_delete=models.CASCADE,
    )

# views.py
from django.contrib.auth import get_user_model
from django.views.generic.edit import CreateView
from myapp.models import Author

class AuthorCreate(CreateView):
    model = Author
    fields = ['name']

    def form_valid(self, form):
        form.instance.created_by = self.request.get_user_model()
        return super().form_valid(form)
Run Code Online (Sandbox Code Playgroud)

但是,在提交表单后,我收到错误:

AttributeError at /posts/new/
'WSGIRequest' object has no attribute 'get_user_model'
Run Code Online (Sandbox Code Playgroud)

如果我不尝试自动包含用户,则表单可以正常工作,这就是为什么我不认为问题出在我的自定义用户配置上。该代码如下所示:

class PostCreateView(CreateView):
    model …
Run Code Online (Sandbox Code Playgroud)

python django django-custom-user

1
推荐指数
1
解决办法
1585
查看次数

类型错误:create_superuser() 缺少 3 个必需的位置参数:

当我尝试使用终端创建新的超级用户时出现以下错误。

TypeError: create_superuser() missing 3 required positional arguments: 'first_name', 'last_name', and 'location'
Run Code Online (Sandbox Code Playgroud)

我在下面的评论中关注了另一个 stackoverflow 页面。在该页面中,它坚持创建一个 create_superuser 函数,但user.save(using=self._db) 此代码仍有错误,

如何使用“first_name”、“last_name”和“location”而不向它们提供任何默认值。

first_name 、 last_name 和 location 是 max_length = 30 的 CharField,并且可以有空白值。

在此自定义用户模型中,用户名被替换为 mobile_no,使其在 User 类中具有唯一性。

模型.py

from django.db import models
from django.contrib.auth.models import (
        AbstractBaseUser, BaseUserManager,PermissionsMixin
    )
class UserManager(BaseUserManager):
    # All required field must be passed below as argument
    def create_user(self, mobile_no, role, email, first_name, last_name, location, password=None, is_active=True,is_staff=False, is_admin= False):
        if not mobile_no:
            raise ValueError("User must have an Mobile …
Run Code Online (Sandbox Code Playgroud)

python django typeerror django-custom-manager django-custom-user

1
推荐指数
1
解决办法
3604
查看次数