Python и django, как извлечь данные из набора запросов - PullRequest
0 голосов
/ 16 июня 2020

У меня к вам вопрос. У меня есть следующий класс:

class StatoPatrimoniale(models.Model):
    reference_date=models.DateField()
    income=models.DecimalField()
    debt=models.DecimalField()

После этого я назвал новую переменную last_account_year следующим образом:

now=datetime.datetime.now()
last_account_year=float(now.year)-1

Теперь я хочу создать функцию, которая дает мне возможность извлекать объекты income и debt, фильтруя их, используя last_account_year и год в reference_date. Как я мог получить такой результат?

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Вы должны использовать модель поиск в поле даты :

StatoPatrimoniale.objects.filter(reference_date__year=last_account_year)

И в функции, инкапсулирующей logi c и устанавливающей его на ноль, если он не существует:

def func(year):
    queryset = StatoPatrimoniale.objects.filter(reference_date__year=year)
    return queryset if queryset.exists() else 0
0 голосов
/ 16 июня 2020

Вы можете использовать .filter () для фильтрации вашего запроса и values_list () для получения значений: вот пример:

StatoPatrimoniale.objects.filter(reference_date__year=last_account_year).values_list('income', 'debt')
...