Django-如何确定外键上的资源大于max_value的时间段

时间:2019-02-06 02:12:03

标签: django datetime django-queryset

我有两个与此问题有关的模型。每个电源都有一个最大电流(安培数),在它变成危险之前可以流过它。

我希望允许人们通过安排“用法”实例来利用这些电源。

class PowerSource(models.Model):
    title = models.CharField(max_length=20, unique=True)
    max_amps = models.SmallIntegerField(default=0, help_text='Maximum capacity for this Power Source in amps')

class Usage(models.Model):
    power_source = ForeignKey(PowerSource, on_delete=models.CASCADE)
    start_dt = models.DateTimeField()
    end_dt = models.DateTimeField()
    amps = models.SmallIntegerField(help_text='How much current, in amps, does this usage need?')

检查新放置的Usage实例是否会将PowerSource置于max_amps值上很容易(只要获得与新Usage实例重叠的每个订单的安培数之和即可),但是我需要更复杂一些:

假定特定电源的多个“使用情况”实例的开始/停止时间段重叠,那么当整体使用率等于或高于“电源”的“ max_amps”值时,如何有效地确定所有时间段?

我对Django很有经验,但是我什至不知道从哪里开始。可以在ORM中完成吗?

0 个答案:

没有答案