Python Django-如何使函数内部的变量在数据过滤器外部可用

Python Django-如何使函数内部的变量在数据过滤器外部可用,python,django,django-rest-framework,Python,Django,Django Rest Framework,在Django中,我希望根据用户从前端下拉列表中所做的选择来过滤数据。如何使函数内的返回值在函数外可用?我使用的是Django Rest框架,但我认为Django在任何情况下都是如此 这是我的观点 class ListAirlineYearFinancialData(generics.ListAPIView): # Serialized data serializer_class = FinancialDataSerializer def airline_dashboard(r

在Django中,我希望根据用户从前端下拉列表中所做的选择来过滤数据。如何使函数内的返回值在函数外可用?我使用的是Django Rest框架,但我认为Django在任何情况下都是如此

这是我的观点

class ListAirlineYearFinancialData(generics.ListAPIView): # Serialized data
    serializer_class = FinancialDataSerializer

    def airline_dashboard(request):
        airline_list = Airline.objects.all() 
        year_list = Year.objects.all()

        if request.method == 'GET':
            identifier = request.GET.get('id', None)
            if identifier:
                airline_id = Airline.objects.filter(pk=identifier)
                return airline_id # How to reference this return value outside function to queryset below?
        return render(request, 'dashboard/company_page.html', {'airline_list': airline_list, 'year_list': year_list})

    queryset = FinancialData.objects.filter(airline_id=airline_id) # I get error airline_id is not defined
    queryset_filtered = queryset.filter(financial_year_id=1)

    def get_queryset(self, *args, **kwargs):
        return self.queryset_filtered

Django告诉我一个错误,queryset中没有定义airline_id。如何引用函数内部定义的值以在外部可用并使用该值过滤数据?

只需将这两行移到方法中即可

def get_queryset(self, *args, **kwargs):
    queryset = FinancialData.objects.filter(airline_id=self.request.GET.get('id'))
    queryset_filtered = queryset.filter(financial_year_id=1)
    return queryset_filtered

谢谢Daniel,但我认为没有定义“请求”是一个错误。对不起,应该是
self.request