我是Django和Web框架的新手,但是经常使用DBMS。知道django模型中的每个类都映射到数据库中的表,模型是否应基于表格规范化的ERD?在这种情况下,正常形式是否重要?谢谢!
答案 0 :(得分:4)
假设您正在使用SQL后端(即不是像mongodb这样的东西),那么将适用相同的规范化准则。请记住,django只是访问数据库的一种非常好的方式,但是在背景中你还在执行一系列sql查询,这些查询将从规范化中获益。
也就是说,你通常会在数据库中构建的许多业务逻辑现在可以由django处理,因此如果能够更轻松地使用它,就可以摆脱略微去规范化的结构。我通常采用的方法是规范化有意义的地方以避免重复,并对规范化结构导致真正复杂的查询(django不喜欢复杂的查询)进行去规范化。我通过使用接收器或重载save
方法来确保数据的一致性。