Django向用户对象添加多个到一个字段

时间:2010-12-19 06:18:57

标签: django django-models

我正在创建一个与Django Network类具有多对一关系的User类。换句话说,Network可以有多个User,每个User只有一个Network。添加多对多关系很容易,因为我可以在Network类中添加多对多字段;但是,由于我需要在User类中添加外键,因此很难应用多对一关系。我无法做到这一点。

我的UserProfile类与User有一对一的关系,但它仅用于存储有关User的其他信息,而不是任何关系。我定义的所有其他关系都与User相关,而不是UserProfile

有没有办法在不使用User的情况下与NetworkUserProfile类创建多对一关系?谢谢!

1 个答案:

答案 0 :(得分:2)

我能想到的唯一事情是子类化User,这很棘手,因为管理员无法将基础对象(在这种情况下为User)转换为子类对象({{1 }},是的,我已经尝试过),或创建NetworkUser模型与NetworkUserOneToOneUser的{​​{1}}关系。我推荐后者,因为虽然你现在确定你只想在ForeignKey添加一个东西,但它不应该是一个大问题,稍后会有更多要添加。

直接搞砸Network困扰我的事情是,这只适用于单个应用,不一定是整个项目,并且会以一种会影响其他应用的方式修改User项目