【发布时间】:2021-02-04 13:10:25
【问题描述】:
我正在创建一个学校管理系统,其中应该有 3 种类型的用户(学生、教师、当局)。由于我陷入了困境,任何人都可以帮助我给我一个前进的方向。
【问题讨论】:
-
到目前为止你尝试过什么?你考虑过你的数据模型吗?不同类型的用户需要不同的数据吗?在某些情况下,用户可能既是学生又是教师?
标签: python django django-models
我正在创建一个学校管理系统,其中应该有 3 种类型的用户(学生、教师、当局)。由于我陷入了困境,任何人都可以帮助我给我一个前进的方向。
【问题讨论】:
标签: python django django-models
您可以通过多种方式实现这一目标。最简单的一种是创建 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.
【讨论】: