Python 从Django中的命令行创建用户

Python 从Django中的命令行创建用户,python,django,python-3.x,django-models,Python,Django,Python 3.x,Django Models,我现在很困惑。我在一个项目中有3个应用程序 App1:从最终用户使用(基于web视图的应用程序) App2:从服务提供商处使用(web服务) App3:从系统管理员处使用 我想为每个应用程序使用django身份验证系统。我可以创建django项目来验证App1的用户。但是,如何同时使用App2和App3的身份验证系统 当我运行python manage.py createsuperuser命令时,django生成App1的超级用户。我如何使用此命令为App2和App3进行设置 有人知道吗?请帮帮

我现在很困惑。我在一个项目中有3个应用程序

App1:从最终用户使用(基于web视图的应用程序)

App2:从服务提供商处使用(web服务)

App3:从系统管理员处使用

我想为每个应用程序使用django身份验证系统。我可以创建django项目来验证App1的用户。但是,如何同时使用App2和App3的身份验证系统

当我运行
python manage.py createsuperuser
命令时,django生成App1的超级用户。我如何使用此命令为App2和App3进行设置

有人知道吗?请帮帮我

型号.py

### This table is for end user.
class RemoshinUser(models.Model):

    user = models.OneToOneField(User)
    user_type = models.SmallIntegerField(default=1)
    kana_name = models.CharField(max_length=128, blank=True)
    date_of_birth = models.DateField(blank=True, null=True)
    sex = models.SmallIntegerField(null=True)
    postno = models.CharField(max_length=7, blank=True)
    address1 = models.CharField(max_length=128)
    address2 = models.CharField(max_length=128, blank=True)
    telno = models.CharField(max_length=16, blank=True)
    photo = models.ImageField(upload_to='users/%Y/%m/%d', blank=True)

    create_date = models.DateTimeField(auto_now_add=True)
    modify_date = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = 'remosys_remoshin_user_tbl'
        swappable = 'AUTH_USER_MODEL'


### This table is for service provider.
class RemoshinDoctor(models.Model):
    user = models.OneToOneField(User)
    user_type = models.SmallIntegerField(default=2)
    doctor_id = models.CharField(max_length=16, primary_key=True)
    clinic_id = models.ForeignKey(Clinic)
    photo = models.ImageField(blank=True, null=True)
    create_date = models.DateTimeField(auto_now_add=True)
    modify_date = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = 'remosys_remoshin_doctor_tbl'



### This table is for system administrator.
class RemoshinManager(models.Model):
    user = models.OneToOneField(User)
    user_type = models.SmallIntegerField(default=3)
    manager_id = models.CharField(max_length=16, primary_key=True)
    create_date = models.DateTimeField(default=timezone.now)
    modify_date = models.DateTimeField(default=timezone.now)

    class Meta:
        db_table = 'remosys_remoshin_manager_tbl'

您可以使用下面的方法从命令行创建用户。但无论何时创建用户,它都是为整个项目而不是为一个应用程序创建的

user@hostname$ python3 -m django shell
>>> import django.contrib.auth
>>> User = django.contrib.auth.get_user_model()
>>> user = User.objects.create_user('username', password='userpassword')
>>> user.is_superuser = False
>>> user.is_staff = False
>>> user.save()

如果扩展了基本用户模型,则将@Astik anan中的第一个命令更改为:

从django.contrib.auth导入get\u user\u模型
User=get\u User\u model()

每个应用程序都有自定义用户模型吗?我不明白这个问题?当你创建一个用户时,它完全在项目中,而不仅仅是在应用程序中。我不使用自定义用户模型。我对扩展用户使用一对一模型。我必须使用自定义用户模型吗?django用户属于您的所有应用程序,而不仅仅是一个。最终用户和管理用户由您定义。当您创建超级用户时,它将能够管理所有应用程序,而不仅仅是一个。给我们一个什么是App1、App2和App3的例子?我添加了模型代码。这个应用程序有点像在线咨询系统。最终用户可以使用智能手机接受咨询服务。医生可以通过PC网络浏览器提供服务。我有另一种用户作为系统管理员。他们必须维护系统。谢谢回复。在django中,我不能在一个项目中创建3个不同的用户身份验证函数吗?我说不通,因为许多web服务必须具有最终用户登录功能以及系统管理员管理功能。我必须分开项目吗?但这可以通过首先创建一个普通登录然后获得更高级别的访问来实现。因此,他们可以从两个角度进行管理。