各位,小弟自学django有一段时间了,现在遇到数据库查询的问题没有思路,特来求教: 比如有一个公司人员信息表(自增ID),里面数据有员工姓名,性别,部门,职位,电话等信息。有另一张工资表,以员工信息表的ID为外键记录员工工资。我现在可以根据员工姓名查找对应的工资,但是如果我需要输出一个列表,里面同时显示员工所有信息外加对应的工资信息(也许这样做并不合理,但是我实在找不到更好的描述方式),该如何做呢?请赐教,谢谢了。
@Django中国社区 你的代码我看懂了,谢谢!
对不起,我没有表述清楚,我想达到的效果是这样的,输入一个列表:
姓名 性别 电话 工资 张三 男 1580002517 3000 李四 男 1580025681 4000
因为工资信息在另外一张表里面,就是说我在输出员工信息的同时临时性的添加另一张工资表中的对应记录。 另外,您给的上述方法,恕小弟愚笨,没有看懂该如何在froms中或者views中使用,能否明示?感激不尽!
这个设计是可以的啊,你的员工肯定可以直接访问 工资表
例如:
Class Post(models.Model): topic = models.ForeignKey(Topic, verbose_name = _('Topic'), related_name = 'posts')
这样,topic表就可以使用posts访问它的所有posts了,
在你的例子里,你可以通过员工 看到他所有的工资记录。
注意的是,查询时,你一次性全select出来,避免N+1问题。