我的机器轮班工作。每个机器都有自己的班次,可以有不同的持续时间。这些是Django中的模型:
class Shift(models.Model):
name = models.CharField(max_length=50)
class Machinery(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=30)
shifts = models.ManyToManyField(Shift, through='MachineryShift')
class MachineryShift(models.Model):
machinery = models.ForeignKey('Machinery')
shift = models.ForeignKey('Shift')
shift_start_time = models.TimeField()
shift_end_time = models.TimeField()
我需要每台机械都有自己的一套移动设备,这些模型符合要求,但感觉它不是最好的解决方案。
有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
我认为class Shift
不是实际上。既然如此,那么只需要为班次命名,也可以在class MachineryShift
中完成。
class Machinery(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=30)
class MachineryShift(models.Model):
machinery = models.ForeignKey('Machinery')
shift = models.Charfield(max_length=50)
shift_start_time = models.TimeField()
shift_end_time = models.TimeField()
这样,您可以根据需要为机器添加任意数量的班次。每台机器都有自己的一组班次。