Django находит два объекта в запросе filter (), но не может l oop через них - PullRequest
0 голосов
/ 05 января 2020

Никогда такого раньше не было. Ниже приведен метод, который я добавил в модель. Он просто проверяет, что ни один из связанных с ним LineItems не имеет установленного параметра recciliation_date.

Метод всегда возвращает False, поэтому я добавил несколько строк logger.warning (), чтобы увидеть, что происходит. Как видно на рисунке, метод выполняется, обнаруживает, что объект модели имеет два связанных элемента line_items, а затем игнорирует for для l oop. Очень странно!

Django finds two objects in a filter() query but fails to loop through them

    @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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...