学生与老师

时间:2013-04-25 18:12:01

标签: python django

我在Django编写模型。

我使用的是django.contrib.auth.models

中的用户模型

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

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

我如何代表教师和学生模特?

我应该为老师和学生扩展用户模型吗? 或者我应该只创建一个从用户模型扩展的模型,该模型只有不同类型的学生和教师。

谢谢!

我有

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

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

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

用户在django.contrib.auth.models中引用用户模型

1 个答案:

答案 0 :(得分:2)

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