python - 我可以将我的客户模型与 Django 用户模型链接起来吗?

标签 python django django-models

大家好,我是 django 的新手,现在我的项目模型部分有点困惑。

我需要创建一个网站,用户可以拥有他们的个人资料并发布他们想要提供的产品(如目录),我正在考虑创建此模型:

class Users_Types(models.Model):

    user_type = models.CharField(max_length=1)
    def __str__(self):
        return self.user_type
        return self.id_type_user

class Users(models.Model):

    users_types= models.OneToOneField('Users_Types')
    e_mail = models.EmailField(unique=True)
    password = models.TextField()
    salt = models.TextField()
    def __str__(self):
        return self.id_user
        return self.id_type_user
        return self.e_mail
        return self.password
        return self.salt

class Clients(models.Model):
    users = models.OneToOneField('Users')
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    ci = models.CharField(max_length=9)
    birth_date = models.DateField(null=True, blank=True)
    phone = models.CharField(max_length=20)
    city = models.CharField(max_length=20, default=)


class products(models.Model):

    clients = models.ForeignKey('clients')
    product = models.CharField(max_length=30)
    description = models.CharField(max_length=30)
    Category = models.CharField(max_length=30)

但是我读到过 django 有它的用户模型,我不得不使用那个模型而不是我的用户模型?

以及我如何将 Django 用户模型与我的客户模型联系起来。

感谢您的帮助!

最佳答案

Django 确实有它的 User 模型,所有默认身份验证都是通过该模型进行的,从一开始我就强烈建议您保留默认的 Django User 模型.

并且为了将您的客户端与您需要的默认用户模型链接起来

from django.conf import settings
from django.db import models

class Client(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    ...

Using the Django authentication system 上阅读 Django 文档会对你非常有用。

我认为您知道 PEP-8 是什么,django 也有类似的 pep:Coding style ,它将帮助您使代码更简洁。

Django 文档也有关于引用用户模型的段落:Referencing the User model

关于python - 我可以将我的客户模型与 Django 用户模型链接起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44342987/

相关文章:

python - Django 中全局数据存储在哪里

python - 如何在python中对目录进行tar文件备份

django - Backbone js 与 django 一起使用有什么优势

django - 在 django-react-redux 中 PUT 文件请求

django - Integrity_Error(键仍然被引用)即使在 on_delete=do_nothing 时也会抛出

python - 在django中查询时间戳字段

python - 仅从数据框中提取今天日期的行

python - 由于许多安装错误,无法在 RHEL 6.5 上使用 pip2.7 安装 python-ldap

python - np.reshape(-1) 做什么

python - 使用和安装 Django 自定义字段模型