Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我什么时候应该使用Django的用户模型?_Python_Django_Django Models - Fatal编程技术网

Python 我什么时候应该使用Django的用户模型?

Python 我什么时候应该使用Django的用户模型?,python,django,django-models,Python,Django,Django Models,我创建了这个类Person,但是看看DjangoUser模型,它们看起来非常相似。 在这种情况下,我应该使用它吗?还是我应该保留我自己的模型 我主要担心的是,我不想让我的用户登录到localhost:8000/admin页面,开始干扰我的系统和其他用户数据 class Person(models.Model): full_name = CharField(max_length=255) address = CharField(max_length=255) city =

我创建了这个类
Person
,但是看看Django
User
模型,它们看起来非常相似。 在这种情况下,我应该使用它吗?还是我应该保留我自己的模型

我主要担心的是,我不想让我的用户登录到
localhost:8000/admin
页面,开始干扰我的系统和其他用户数据

class Person(models.Model):

    full_name = CharField(max_length=255)
    address = CharField(max_length=255)
    city = CharField(max_length=255)
    country = CharField(max_length=2, choices=CountryChoices, default='')
    gender = CharField(max_length=1, choices=GenderChoices, default='')

    email = EmailField()
    password = CharField(max_length=255)

    started = DateTimeField(auto_now_add=True, auto_now=False)
    updated = DateTimeField(auto_now_add=False, auto_now=True)

    #how it's show in admin
    def __unicode__(self):
        return smart_unicode(self.full_name + ' (' + self.email + ')')

如果您不想让您的用户访问管理,那么使用这里包含的模型没有什么错


如果您想使用auth用户模型,当然可以。如果以后要将用户模型添加到模型中,可以使用ForeignKey将它们绑定在一起。

如果您不想让用户访问管理员,那么使用此处包含的模型没有问题

如果您想使用auth用户模型,当然可以。如果以后要将用户模型添加到模型中,可以使用ForeignKey将其绑定在一起。

不应创建此模型。除了效率方面的考虑之外,看起来您似乎是在以明文形式存储密码,这是绝对不可能的

相反,扩展AbstractBaseUser并将AUTH_USER_MODEL设置为指向该模型。如果您定义了一个
is_staff
布尔字段,则只要用户将该字段设置为False,就不允许用户登录管理站点。

您不应创建此模型。除了效率方面的考虑之外,看起来您似乎是在以明文形式存储密码,这是绝对不可能的


相反,扩展AbstractBaseUser并将AUTH_USER_MODEL设置为指向该模型。如果您定义了一个
is_staff
布尔字段,则只要用户将该字段设置为False,就不允许用户登录管理站点。

这是错误的。此字段中的某些字段位于
User
模型中。最好使用
User
模型并在模型中定义传统字段。看一看


您还可以开发自己的登录系统,如。

这是错误的。此字段中的某些字段位于
User
模型中。最好使用
User
模型并在模型中定义传统字段。看一看

您还可以开发自己的登录系统,如