【发布时间】:2013-11-29 22:38:50
【问题描述】:
我刚接触 Python 和 Django,请原谅我的无知。
在构建我的模型时,我决定使用用户扩展而不是替换。只是看起来更简单,我还是新手。我发现摘要对于通用信息、地址电话等非常有效,但是我还需要多个模型来处理不同的信息(前雇员 v 客户)。所以我的问题是:
可以抽象扩展用户,然后用作每个模型的基础吗?
代码:
class Common(models.Model):
user = models.OneToOneField(User)
#other proprerties addr, ph etc
Class Meta:
abstract = true
class Employee(Common):
reportsTo = models.OneToOneField(User)
#timeOff, title, dept, etc.
这是可行的,还是另一种方法会更好?
【问题讨论】:
-
@barjey 我知道我可以在运行时更改类类型,但我主要关心的是员工类和客户类,也许供应商类等都可以使用`常用作为将 Django 用户对象链接到其数据库属性和类方法的方法。
标签: python django django-models abstract django-users