【发布时间】:2012-08-04 02:03:17
【问题描述】:
我正在尝试找出保存使用 django orm 的模型的最佳方法。我有一个模型/表格,User。此外,我有一个名为 ContactInfo 的模型/表,我们在其中存储了 User 表的外键。
我知道 django orm 的常见做法是将 ContactInfo 模型的外键放入 User 模型中,但是此时我们不想在已经很庞大的用户表中添加任何内容,所以我们将外键进入 ContactInfo 模型。
我知道我可以将 User 模型存储在 ContactInfo 模型中,在 ContactInfo 上调用 save,它应该保存 User 模型,但如果我与用户及其联系信息存在一对多关系怎么办?我宁愿在联系信息模型/对象的(1-many)实例中没有用户表的多个实例。
如果我能澄清任何事情,请告诉我。目前,我最好的想法是将ContactInfo列表的一个实例存储为user.contact_info,并覆盖用户user.save()的保存方法以检查contact_info,如果存在则将user.id插入每个模型并保存。不幸的是,我只是觉得这有点乱,但是作为 django 和 python 的新手,我不确定我的选择是什么。
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
Django 不提供多对多类型吗?它会为您创建“中间”表。
标签: python django orm django-models