【问题标题】:Django Best method to create different usersDjango 创建不同用户的最佳方法
【发布时间】:2021-02-04 13:10:25
【问题描述】:

我正在创建一个学校管理系统,其中应该有 3 种类型的用户(学生、教师、当局)。由于我陷入了困境,任何人都可以帮助我给我一个前进的方向。

【问题讨论】:

  • 到目前为止你尝试过什么?你考虑过你的数据模型吗?不同类型的用户需要不同的数据吗?在某些情况下,用户可能既是学生又是教师?

标签: python django django-models


【解决方案1】:

您可以通过多种方式实现这一目标。最简单的一种是创建 3 个模型,分别代表学生、教师、权威,与 Django 用户模型具有一对一的关系。如果您有足够的经验,您可以使用 AbstractUser 接口(抽象类)并扩展它来为三种不同类型的用户创建 3 个模型。 例子:

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


class Student(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    # other fields


# or
class UserProfile(AbstractUser):
    phone = models.IntegerField(max_length=10, null=True)
    # other fields
    # please read docs before working with this.

AbstractUser Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2020-12-15
    • 2011-11-25
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多