我正在用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()其中User指的是django.contrib.auth.models中的用户模型
发布于 2013-04-26 05:16:41
你所拥有的没有任何问题,它是一个有效的模式:请阅读这篇文章:http://charlesleifer.com/blog/django-patterns-model-inheritance/这是一本很好的读物,更详细地解释了模型继承。也可以阅读多表继承和抽象模型。
https://stackoverflow.com/questions/16221771
复制相似问题