mirror of
https://github.com/magnum-opus-tender-hack/backend.git
synced 2025-02-16 17:40:32 +03:00
improved autocomplete
This commit is contained in:
parent
e249aef809
commit
23e30bbcb8
|
@ -2,37 +2,38 @@ from search.models import Product, Category, Characteristic
|
|||
|
||||
|
||||
def autocomplete_schema(val: str):
|
||||
schema = []
|
||||
schema = [
|
||||
{
|
||||
"coordinate": product["name"].lower().index(val.lower()),
|
||||
"value": {
|
||||
"type": "Name",
|
||||
"value": product["name"],
|
||||
},
|
||||
}
|
||||
for product in Product.objects.filter(name__unaccent__icontains=val).values(
|
||||
"name"
|
||||
)
|
||||
]
|
||||
schema.extend(
|
||||
[
|
||||
{
|
||||
"coordinate": product["name"].index(val),
|
||||
"value": {
|
||||
"type": "Name",
|
||||
"value": product["name"],
|
||||
},
|
||||
}
|
||||
for product in Product.objects.filter(name__contains=val).values("name")
|
||||
]
|
||||
)
|
||||
schema.extend(
|
||||
[
|
||||
{
|
||||
"coordinate": cat["name"].index(val),
|
||||
"coordinate": cat["name"].lower().index(val.lower()),
|
||||
"value": {"type": "Category", "value": cat["name"]},
|
||||
}
|
||||
for cat in Category.objects.filter(name__contains=val).values("name")
|
||||
]
|
||||
)
|
||||
schema.extend(
|
||||
[
|
||||
{
|
||||
"coordinate": char["name"].index(val),
|
||||
"value": {"type": char["name"], "value": char["value"]},
|
||||
}
|
||||
for char in Characteristic.objects.filter(name__contains=val).values(
|
||||
"name", "value"
|
||||
for cat in Category.objects.filter(name__unaccent__icontains=val).values(
|
||||
"name"
|
||||
)
|
||||
]
|
||||
)
|
||||
schema.extend(
|
||||
[
|
||||
{
|
||||
"coordinate": char["value"].lower().index(val.lower()),
|
||||
"value": {"type": char["name"], "value": char["value"]},
|
||||
}
|
||||
for char in Characteristic.objects.filter(
|
||||
value__unaccent__icontains=val
|
||||
).values("name", "value")
|
||||
]
|
||||
)
|
||||
return schema
|
||||
|
|
Loading…
Reference in New Issue
Block a user