Python 什么是更好的方法,更少的代码和更多的外键或更多的代码和列?
我正在编写我的第一个商业Django应用程序,我正在寻找一些帮助,因为我在相当长的一段时间内一直在修改和优化模型 现在我正在考虑创建模型的更好方法是什么。假设我有几个模型都有几个共同的字段(比如姓名、城市、地址、邮政编码) 你能告诉我什么是更好的方法吗?在每个模型(表)中重复这些字段(列),或者在任何适合的地方使用外键,创建一个地址模型,即使这些地址是完全不同的东西(人、机构等),我也不需要在一个表中使用它们 我知道我做的外键越多,每次应用程序需要其他表中的一些信息时,它会发出越多的查询?甚至值得考虑吗 我看到的好处是:Python 什么是更好的方法,更少的代码和更多的外键或更多的代码和列?,python,django,postgresql,model,foreign-keys,Python,Django,Postgresql,Model,Foreign Keys,我正在编写我的第一个商业Django应用程序,我正在寻找一些帮助,因为我在相当长的一段时间内一直在修改和优化模型 现在我正在考虑创建模型的更好方法是什么。假设我有几个模型都有几个共同的字段(比如姓名、城市、地址、邮政编码) 你能告诉我什么是更好的方法吗?在每个模型(表)中重复这些字段(列),或者在任何适合的地方使用外键,创建一个地址模型,即使这些地址是完全不同的东西(人、机构等),我也不需要在一个表中使用它们 我知道我做的外键越多,每次应用程序需要其他表中的一些信息时,它会发出越多的查询?甚至值
- 更少的代码
- 不要重复我自己
- 对相同信息的更多查询
- 以后实现起来有点复杂
- 重复行的可能性更大
谢谢您的帮助。如果我完全理解您的问题,我的逻辑方法是只定义一次与模型相关的文件(模型1),如果您想使用它们并将它们(我的意思是fildes模型1)共享到其他模型中,您只需创建Join(Foreignkey,多对多…)在其他模型和模型1之间。我建议您选择基本模型,并使用FK关联特定信息 在一个用户示例中,您可以像您所说的那样拥有一个基本模型,然后是一个“机构”和一个“个人”档案,或者类似于与用户相关的档案,然后从基本模型访问所有这些档案 有了这一点,您将在代码的可读性和逻辑性方面获得很多。还可以减少数据库上的冗余 我还建议检查外键的性能