gpt4 book ai didi

mysql - 在 django 中建模以存储员工特定年、月和周的工作时间

转载 作者:行者123 更新时间:2023-11-29 00:06:06 25 4
gpt4 key购买 nike

我正在为在线考勤系统创建一个 Django 应用程序,它必须存储几年(5 或 6 年)员工每周的工作时间

我想创建一个表,其中包含 employeeid、年、月、周和小时(例如 2015 年 1 月第 1 周 4 小时,员工 ID 为 200)

我尝试用很少的 ManyToManyFields 和外键字段创建模型(年、月、周、记录),但最终创建了链接年和 employeeid、employeeid 和月、年和月的表,但没有包含 employeeid 字段的表、周、月和年。

任何人都可以告诉我在模型中使用的字段之间的关系来为此创建数据库。提前致谢

这是我的 Models.py -

from django.db import models

class Month(models.Model):
id = models.IntegerField(primary_key = True, null = False)
weeks = models.ManyToManyField(Week, null = True)

class Year(models.Model):
id = models.IntegerField(primary_key = True, null = False)
month = models.ManyToManyField(Month, null = True)



class UserId(models.Model):
id = models.IntegerField(primary_key = True, null = False)
name = models.CharField(max_length = 56) // employee name
year = models.ForeignKey(Year, null = True)



class Week(models.Model):
id = models.IntegerField(primary_key =True, null = False)
working_hours = models.IntegerField(null = True, default = 0)


class Record(models.Model):
id = models.IntegerField(primary_key = True, null = False)
month = models.ManyToManyField(Month, null = True)
year = models.ManyToManyField(Year, null = True)
week = models.ManyToManyField(Week, null=True)
userid = models.ForeignKey(UserId, null = True)

最佳答案

这个模型会满足你的要求

注意:您不必创建主键(id)字段,它将由 django 自动创建。

from django.db import models


class Employee(models.Model):
name = models.CharField(max_length = 56)


class Record(models.Model):
employee = models.ForeignKey(Employee)
month = models.IntegerField()
year = models.IntegerField()
week = models.IntegerField()
hours = models.IntegerField()

class Meta:
unique_together = (('employee', 'month', 'year', 'week'),)

关于mysql - 在 django 中建模以存储员工特定年、月和周的工作时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27394474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com