可以说,我想跟踪我的工人出勤情况。 全国有30个地点。 每个部门有4000名工人,大约200个工作日。
每个工作人员都有单独的个人资料页面。
我正在使用mysql数据库。 我该怎么办? 1.我应该一天创建一张表吗?(200天30 * 200张表) 2.我应该在一天中的表格中创建一个单行本吗?(每年,每个位置1个表格,表格列中200天) 那么,如何编写实现该目标的模型? 标准方法是什么,从长远来看会更好。
我应该提到工作日不是固定的,因此它们是动态的,例如当我输入它将在数据库中为我创建一个表/列的日期时。
答案 0 :(得分:1)
要真正获得想要的东西有点困难,但是如果我正确地得到了,那么这就是我的答案:
一张您所在地点的桌子。
一张可用于查看员工资料的表格。
用于节省工人出勤的一张桌子。
如果您的工作日需要一些细节,比如说一些便笺等,则可以为工作日单独制作一张表格。
现在,您可以将有关员工出勤的所有详细信息保存在一个表中,并将其映射到其他表,并根据需要对它们进行过滤。
示例:
位置字段:
工作人员字段:
名字
姓氏
电话号码
...
出勤字段:
worker(工作者表的外键)
位置(位置表的外键)
日期
笔记
...
一些过滤示例:
#Get all the workers for a location in a specific date)
Attendance.objects.filter(location=<SOME-LOCATIOn>, date=<SOME-DATE>
#Get all the details for a specific worker
Attendance.objects.filter(worker=<SOME-WORKER>)