在Django查询中对related_set进行过滤

时间:2018-12-19 12:29:27

标签: django django-queryset

class Hardware(models.Model):
    date = models.PositiveSmallIntegerField()
    node = models.ForeignKey('Node', on_delete=models.CASCADE,null = True)
    slot = models.PositiveSmallIntegerField(null = True)
    server = models.CharField(max_length=20,null = True)
    server_state = models.CharField(max_length=20,null = True)
    adapter = models.CharField(max_length=20,null = True)
    adapter_state = models.CharField(max_length=20,null = True)

    class Meta:
        unique_together = ('date', 'node','slot')
        order_with_respect_to = 'node'

    def __str__(self):
        return self.node.name +" " + self.server

class Node(models.Model):
    name = models.CharField(max_length = 40, primary_key = True)
    def __str__(self):
        return self.name

def inventory_by_node(request):
    day = (arrow.now().day) - 1
    nodes = Node.objects.prefetch_related("hardware_set").all()
    return render(request, 'automation/inventory_by_node.html',{'nodes':nodes})

我需要根据等于当前日期的日期来过滤hardware_set。我尝试过

nodes = Node.objects.prefetch_related(Prefetch("hardwares", quesryset=Hardware.objects.filter(date=day)).all() 

但没有成功,表示未定义Pretch

1 个答案:

答案 0 :(得分:1)

尝试一下:

  typeColumn = [
{text:'None'},
{text:'Time',allowed: true},
{text:'Segment'},
{text:'Key',allowed: true},
{text:'Input'},
{text:'Quantile' } ];
相关问题