search funtion not working

 def search(request):

   allprod=[]

   searched_str=request.GET.get('search','')  #string he,customer jo search krega vo yha aayega

   n=len(product.objects.filter(Q(pname=searched_str) | Q(cat=searched_str)))

#length of

   fetched=product.objects.filter(Q(pname=searched_str) | Q(cat=searched_str) ).values()

   for i in fetched[0].values():

    allprod.append(i)

   slide=n//4 + ceil((n/4)-(n//4))

   allprod.append(slide)

   print(allprod)

   data={"allprod":allprod,"msg":""}

   if n==0:

       data['msg']="please searvh relevent product"

       return render(request,"shop/search.html",data)

   else:

       return render(request,"shop/search.html",data)







imp points




Python 3.6.9 (default, Jul 17 2020, 12:50:27) 

Type 'copyright', 'credits' or 'license' for more information

IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.


In [1]: from shop.models import product


In [2]: sata=product.objects.filter(pname=a and pdesc=b)

  File "<ipython-input-2-d961dd8cdd06>", line 1

    sata=product.objects.filter(pname=a and pdesc=b)

                                                 ^

SyntaxError: invalid syntax



In [3]: a="sabun"


In [4]: b="sss"


In [5]: sata=product.objects.filter(pname=a  pdesc=b)

  File "<ipython-input-5-25baaab8553d>", line 1

    sata=product.objects.filter(pname=a  pdesc=b)

                                             ^

SyntaxError: invalid syntax



In [6]: from django.db.models import Q


In [7]: sata=product.objects.filter(Q(pname=a) | Q( pdesc=b))


In [8]: sata

Out[8]: <QuerySet [<product: sabun>]>


In [9]: sata=product.objects.filter(Q(pname=a) | Q( pdesc=b)).values()


In [10]: sata

Out[10]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [11]: sata=product.objects.all()


In [12]: sata

Out[12]: <QuerySet [<product: watch>, <product: sabun>, <product: munch>, <product: BED>, <product: aalu>, <product: apple>, <product: avacardo>, <product: peach>, <product: stoberry>, <product: hra phal>, <product: jackfruit>, <product: guava>, <product: guava>, <product: grossberry>, <product: custard apple>, <product: coconus>]>


In [13]: sata=product.objects.filter(Q(pname=a) | Q( pdesc=b)).values()


In [14]: sata

Out[14]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [15]: for k,v in sata:

    ...:    print(sata[k])

    ...: 


---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-15-86f49d070049> in <module>

----> 1 for k,v in sata:

      2    print(sata[k])

      3 


ValueError: too many values to unpack (expected 2)


In [16]: 


In [16]: for k in sata:

    ...:    print(sata[k])

    ...: 

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-16-4aca709f236d> in <module>

      1 for k in sata:

----> 2    print(sata[k])

      3 


~/.local/lib/python3.6/site-packages/django/db/models/query.py in __getitem__(self, k)

    297             raise TypeError(

    298                 'QuerySet indices must be integers or slices, not %s.'

--> 299                 % type(k).__name__

    300             )

    301         assert ((not isinstance(k, slice) and (k >= 0)) or


TypeError: QuerySet indices must be integers or slices, not dict.


In [17]: sata

Out[17]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [18]: sata.id

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-18-642699cd3669> in <module>

----> 1 sata.id


AttributeError: 'QuerySet' object has no attribute 'id'


In [19]: for i in sata.values():

    ...:     print(i)

    ...: 

{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}


In [20]: list(sata)

Out[20]: 

[{'id': 2,

  'pname': 'sabun',

  'pdesc': 'kapde dolo',

  'cat': 'house hold',

  'subcat': 'tikiya',

  'pr': 5,

  'image': 'shop/images/download.jpeg'}]


In [21]: sata

Out[21]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [22]: sata=product.objects.filter(pname=a)


In [23]: sata

Out[23]: <QuerySet [<product: sabun>]>


In [24]: sata=product.objects.filter(Q(pname=a) | Q( pdesc=b)).values()


In [25]: sata

Out[25]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [26]: sata.values

Out[26]: <bound method QuerySet.values of <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>>


In [27]: sata.values()

Out[27]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [28]: sata.values().id

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-28-497233d4f48a> in <module>

----> 1 sata.values().id


AttributeError: 'QuerySet' object has no attribute 'id'


In [29]: sata.values()["id"]

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-29-3b8e5b19c5f7> in <module>

----> 1 sata.values()["id"]


~/.local/lib/python3.6/site-packages/django/db/models/query.py in __getitem__(self, k)

    297             raise TypeError(

    298                 'QuerySet indices must be integers or slices, not %s.'

--> 299                 % type(k).__name__

    300             )

    301         assert ((not isinstance(k, slice) and (k >= 0)) or


TypeError: QuerySet indices must be integers or slices, not str.


In [30]: sata.values()[0]

Out[30]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [31]: sata.values()[0].id

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-31-458028d2ab70> in <module>

----> 1 sata.values()[0].id


AttributeError: 'dict' object has no attribute 'id'


In [32]: sata.values()[0].["id"]

  File "<ipython-input-32-a0d3ceaef57e>", line 1

    sata.values()[0].["id"]

                     ^

SyntaxError: invalid syntax



In [33]: sata.values()[0]["id"]

Out[33]: 2


In [34]: sata.values()[0]["id"]

    ...: 

Out[34]: 2


In [35]: sata.values()[0]

Out[35]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [36]: sata.values()[0]

Out[36]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [37]: for k in sata.values()[0]:

    ...:     print(sata.values()[0][k])

    ...: 

2

sabun

kapde dolo

house hold

tikiya

5

shop/images/download.jpeg


In [38]: sata[0]

Out[38]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [39]: sata[0].values()

Out[39]: dict_values([2, 'sabun', 'kapde dolo', 'house hold', 'tikiya', 5, 'shop/images/download.jpeg'])


In [40]: sata[0]["id"]

Out[40]: 2


In [41]: sata[0]

Out[41]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [42]: sata[0][0]

---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-42-b88b6d891eb3> in <module>

----> 1 sata[0][0]


KeyError: 0


In [43]: sata[0]

Out[43]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [44]: for i in sata[0].values()

  File "<ipython-input-44-7e0016377838>", line 1

    for i in sata[0].values()

                             ^

SyntaxError: invalid syntax



In [45]: for i in sata[0].values():

    ...:     print(sata[0][i])

    ...: 

---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-45-aaa81e0ae90e> in <module>

      1 for i in sata[0].values():

----> 2     print(sata[0][i])

      3 


KeyError: 2


In [46]: sata[0]

Out[46]: 

{'id': 2,

 'pname': 'sabun',

 'pdesc': 'kapde dolo',

 'cat': 'house hold',

 'subcat': 'tikiya',

 'pr': 5,

 'image': 'shop/images/download.jpeg'}


In [47]: sata[0].values()

Out[47]: dict_values([2, 'sabun', 'kapde dolo', 'house hold', 'tikiya', 5, 'shop/images/download.jpeg'])


In [48]: sata[0].values()[0]

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-48-149f2006a7ca> in <module>

----> 1 sata[0].values()[0]


TypeError: 'dict_values' object does not support indexing


In [49]: type(sata[0].values())

Out[49]: dict_values


In [50]: for i in rage(1,1):

    ...:     print("c")

    ...: 

---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-50-4a819f89ceea> in <module>

----> 1 for i in rage(1,1):

      2     print("c")

      3 


NameError: name 'rage' is not defined


In [51]: for i in range(1,1):

    ...:     print("c")

    ...: 


In [52]: for i in range(0,1):

    ...:     print("c")

    ...: 

c


In [53]: sata=product.objects.filter(Q(pname=a) | Q( pdesc=b)).values()


In [54]: sata

Out[54]: <QuerySet [{'id': 2, 'pname': 'sabun', 'pdesc': 'kapde dolo', 'cat': 'house hold', 'subcat': 'tikiya', 'pr': 5, 'image': 'shop/images/download.jpeg'}]>


In [55]: alldata=[]


In [56]: for i in sata[0].values()

  File "<ipython-input-56-7e0016377838>", line 1

    for i in sata[0].values()

                             ^

SyntaxError: invalid syntax



In [57]: for i in sata[0].values():

    ...:     alldata.append(i)

    ...: 


In [58]: alldata

Out[58]: 

[2,

 'sabun',

 'kapde dolo',

 'house hold',

 'tikiya',

 5,

 'shop/images/download.jpeg']


In [59]: alldata[0]

Out[59]: 2


In [60]: l=[1,2,3,4]


In [61]: l[0]

Out[61]: 1


In [62]: l[3]

Out[62]: 4


In [63]: 


Comments