Django:object.filter().value\u list()问题

2024-10-02 02:25:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图呈现与用户在django视图中在前端输入的模型属性相关的数据。不幸的是,我总是遇到同样的问题 以下是我的看法:

@method_decorator(login_required, name='dispatch')
class SupplierPage(LoginRequiredMixin,APIView):
    def get(self, request, *args, **kwargs):
        query = request.GET.get('search_ress', None)
        context = {}

        #if query and request.method == 'GET':
        Supplier = supplier.objects.filter(supplier = query)
        
        
        labels = Item.objects.filter(fournisseur = query).values_list('reference', flat=True)[:10]
        print(labels)
        default_items = Item.objects.filter(fournisseur = query).values_list('number_of_sales', flat=True)[:10]
        print(default_items)
        
        label1s = Item.objects.filter(fournisseur = query).values_list('reference', flat=True)[:10]
        default_item1s = Item.objects.filter(fournisseur = query).values_list('number_of_orders_placed', flat=True)[:10]
        
            
        context.update({'Supplier' : Supplier, 'labels':labels, 'default_items':default_items,'label1s':label1s, 'default_item1s':default_item1s})


        return render(request, 'Supplier.html',context)

现在在我的日志中,我得到以下信息:

DEBUG (0.001) SELECT "dashboard_item"."reference", "dashboard_item"."fournisseur", "dashboard_item"."demand_30_jours", "dashboard_item"."stock_reel", "dashboard_item"."en_cours_de_reception", "dashboard_$
DEBUG (0.001) SET search_path = 'pierre','public'; args=None
DEBUG (0.001) SELECT "dashboard_item"."reference" FROM "dashboard_item" WHERE "dashboard_item"."fournisseur" IS NULL LIMIT 10; args=()
DEBUG (0.001) SET search_path = 'pierre','public'; args=None
DEBUG (0.001) SELECT "dashboard_item"."number_of_sales" FROM "dashboard_item" WHERE "dashboard_item"."fournisseur" IS NULL LIMIT 10; args=()
DEBUG (0.001) SET search_path = 'pierre','public'; args=None
DEBUG (0.001) SELECT "dashboard_item"."reference" FROM "dashboard_item" WHERE "dashboard_item"."fournisseur" IS NULL LIMIT 10; args=()
DEBUG (0.001) SET search_path = 'pierre','public'; args=None
DEBUG (0.001) SELECT "dashboard_item"."number_of_orders_placed" FROM "dashboard_item" WHERE "dashboard_item"."fournisseur" IS NULL LIMIT 10; args=()

这是gunicorn的日志:

start 2020-08-24 22:48:40.511910
BOLSEIRA
<QuerySet ['372600', '372750', '372650', '372700', '372150', '289807', '289922', '289840', '289923', '372310', '372500']>
<QuerySet [62.0, 58.0, 74.0, 60.0, 16.0, 1.0, 1.0, 1.0, 1.0, 2.0, 36.0]>
start 2020-08-24 22:48:41.782654
None
<QuerySet []>
<QuerySet []>

这很奇怪,因为日志似乎说,由于查询与任何内容都不匹配,所以没有呈现任何内容,这是没有意义的,因为我验证了数据库包含正确的列,并且它们都已填充。此外,SupplierSupplier_item的数据得到正确呈现。实际上,我不确定我是否理解日志中的IS NULL

我对正在发生的事情有点困惑,过了太多的时间,我找不到解决办法。有什么我没看到的吗


Tags: debugnonedefaultsearchobjectsisargsfilter

热门问题