如何在Django应用中创建model.py来实现所需的功能?

时间:2018-07-07 10:33:14

标签: mysql django django-models orm

可以说,我想跟踪我的工人出勤情况。 全国有30个地点。 每个部门有4000名工人,大约200个工作日。

每个工作人员都有单独的个人资料页面。

我正在使用mysql数据库。 我该怎么办? 1.我应该一天创建一张表吗?(200天30 * 200张表) 2.我应该在一天中的表格中创建一个单行本吗?(每年,每个位置1个表格,表格列中200天) 那么,如何编写实现该目标的模型? 标准方法是什么,从长远来看会更好。

我应该提到工作日不是固定的,因此它们是动态的,例如当我输入它将在数据库中为我创建一个表/列的日期时。

1 个答案:

答案 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>)