2

我正在用 Django 编写模型。

我正在使用来自 django.contrib.auth.models 的用户模型

我需要创建一个教师实体和学生实体。

它们基本相同 - 除了学生类型 = '学生' 和类型 = '老师' 之外,它们都需要用户名、密码、电子邮件

如何表示教师和学生模型?

我应该为教师和学生扩展用户模型吗?还是我应该只创建一个从 User 模型扩展而来的模型,该模型对学生和教师具有不同的类型。

谢谢!

我有

class Profile(models.Model):
    user = models.OneToOneField(User)

class Teacher(Profile):
    salary = models.FloatField()

class Student(Profile)
    grade = models.FloatField()

其中 User 指的是 django.contrib.auth.models 中的 User 模型

4

1 回答 1

2

你所拥有的没有什么问题,它是一个有效的模式:请阅读这个:http: //charlesleifer.com/blog/django-patterns-model-inheritance/这是一个很好的阅读并更详细地解释了模型继承。阅读多表继承和抽象模型。

于 2013-04-25T21:16:41.467 回答