使用django,假设我有模型类A和B,代表不同类型的公司。每个公司可能有多个用户与之关联。显然,我更喜欢使用django的用户模型,以获得登录等。我该怎么做呢?我会添加一个有两个外键的UserProfile吗?一个外键指向A,一个外键指向B(一个不为空的指向用户工作的公司)?还是有别的办法?
谢谢!
发布于 2009-12-30 17:09:42
使用继承:使用公共字段为公司定义一个超类,然后继承该类并添加ClassACompany和ClassBCompany所需的内容。
这样,UserProfile就可以拥有一个指向公司的外键。如果您需要从公司转到特定类型的公司,您可以按照in the docs的说明进行操作。
发布于 2009-12-30 14:07:42
为什么你不为Company只有一个类呢?这将使您的系统变得非常非常简单。
然后,您可以在Company中使用特定的字段来确定它是A类型还是B类型(这有什么区别呢?)
发布于 2009-12-30 17:19:26
如果您确实需要在CompanyA和CompanyB中使用不同的字段,那么您可以让它们都派生自一个通用的公司类,ForeignKey将指向该类。
https://stackoverflow.com/questions/1978518
复制相似问题