Django模型:创建子类型

时间:2017-05-02 20:56:53

标签: django django-models django-forms django-views

我是Django的新手,现在正在研究一个项目的模型 有没有一个像样的方法来设置以下内容?

使用与auth_user模型(UserAccount)绑定的模型,我提示用户选择他们拥有的帐户类型(例如:供应商或买方)。

此部分工作正常......但我想根据其帐户类型构建网站体验。如何根据该选项创建VendorProfile或BuyerProfile模型(具有不同的数据)?

我可能过分分析了这一点,但基本上我不希望任何配置文件链接到这两种类型的数据。这是我应该用视图控制的东西,还是有一种锁定模型和防止重复信息的好方法?如果您认为这太宽泛,请告诉我,但我仍处于概念层面。

所以:

auth_user模型

UserAccount模型:
用户:一对一(用户)
account_type:'V'或'B'

VendorProfile(?)
user:一对一(UserAccount,type ='v')?
公司名称:
供应商代码:

BuyerProfile(?)
user:一对一(UserAccount,type ='b')?
最喜欢的颜色:
宠物的名字:

1 个答案:

答案 0 :(得分:0)

是的,你可以做到这一点。为此你需要在django的auth表中更改一个小东西,那就是你需要添加一个列account_type,其中将存储V或B.希望你能找到它怎么做。

接下来是为供应商和买家创建2个模型。使用用户表创建一个用于存储用户ID的onetoonefield,在此模型中保留您要存储的供应商或买家的额外信息。

希望有所帮助