我正在创建一个与Django Network
类具有多对一关系的User
类。换句话说,Network
可以有多个User
,每个User
只有一个Network
。添加多对多关系很容易,因为我可以在Network
类中添加多对多字段;但是,由于我需要在User
类中添加外键,因此很难应用多对一关系。我无法做到这一点。
我的UserProfile
类与User
有一对一的关系,但它仅用于存储有关User
的其他信息,而不是任何关系。我定义的所有其他关系都与User
相关,而不是UserProfile
。
有没有办法在不使用User
的情况下与Network
和UserProfile
类创建多对一关系?谢谢!
答案 0 :(得分:2)
我能想到的唯一事情是子类化User
,这很棘手,因为管理员无法将基础对象(在这种情况下为User
)转换为子类对象({{1 }},是的,我已经尝试过),或创建NetworkUser
模型与NetworkUser
和OneToOne
到User
的{{1}}关系。我推荐后者,因为虽然你现在确定你只想在ForeignKey
添加一个东西,但它不应该是一个大问题,稍后会有更多要添加。
直接搞砸Network
困扰我的事情是,这只适用于单个应用,不一定是整个项目,并且会以一种会影响其他应用的方式修改User
项目