Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django在filter()查询中找到两个对象,但无法循环遍历它们_Django - Fatal编程技术网

Django在filter()查询中找到两个对象,但无法循环遍历它们

Django在filter()查询中找到两个对象,但无法循环遍历它们,django,Django,这以前从未发生过。下面是我添加到模型中的一个方法。它只是检查与之相关的行项目是否没有设置对帐日期 该方法总是返回False,因此我添加了一些logger.warning()行来查看发生了什么。正如您在图像中所看到的,该方法执行,发现模型对象有两个相关的line_项,然后忽略for循环。很奇怪 我看不出有什么问题,但是您可以通过将检查移到数据库中来简化这一点。类似于return self.lineitem\u set.filter(对账\u date\u isnull=False)的东西。exi

这以前从未发生过。下面是我添加到模型中的一个方法。它只是检查与之相关的行项目是否没有设置对帐日期

该方法总是返回False,因此我添加了一些logger.warning()行来查看发生了什么。正如您在图像中所看到的,该方法执行,发现模型对象有两个相关的line_项,然后忽略for循环。很奇怪


我看不出有什么问题,但是您可以通过将检查移到数据库中来简化这一点。类似于
return self.lineitem\u set.filter(对账\u date\u isnull=False)的东西。exists()
应该可以。Peter,成功了,谢谢。@PeterdGlopper刚刚选中,行项目没有定义哦,是的,跟踪了。在日志记录器警告中,您的意思是类似于“Line\u item is”+item。或
第行项目中的第行项目:
    @property
    def is_reconciled(self):
        """Checks if JournalEntry has reconciled lineitems"""
        logger.warning('Starting is_reconciled() model property..')
        line_items = LineItem.objects.filter(journal_entry=self.id)
        #logger.warning('Found ' + str(len(line_items)) + ' line items')
        for item in line_items:
            logger.warning('Doing loop 1. Line_item is '+ item)
            if item.reconciliation_date is not None:
                logger.warning('Reconciliation date is not none here')
                return True
        return False