我在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中引用用户模型
答案 0 :(得分:2)
你拥有的东西没有任何问题,这是一个有效的模式:请阅读本文:http://charlesleifer.com/blog/django-patterns-model-inheritance/这是一本很好的阅读,并更详细地解释了模型继承。阅读多表继承和抽象模型。