Forklarer, ikke bare tæller
Adea viser forløbet: hvilke linjer der talte med, hvilken regel der blev ramt, og hvorfor grænsen ikke blev nået. Support kan svare kunden med det samme.
Stack · Django
Priser, rabatter og regler ligger ofte i en views.py eller en service, som kun udviklerne kan læse. Adea læser den og forklarer trin for trin, hvad der skete på en bestemt ordre.
Hvorfor fik ordre 10432 ikke mængderabat?
Ordren havde 9 varer, og mængderabatten starter ved 10. Rabatten gælder desuden kun varer i kategorien Værktøj, og 2 af varerne var i kategorien Tilbehør.
Kildershop/pricing.py:112
Koden, Adea læste · shop/pricing.py:112
def volume_discount(lines):
eligible = [l for l in lines
if l.product.category == 'tools']
if sum(l.qty for l in eligible) >= 10:
return Decimal('0.08')
Forespørgslen, Adea kørte (kun læsning)
SELECT l.qty, c.name FROM shop_orderline l JOIN shop_product p ON p.id = l.product_id JOIN shop_category c ON c.id = p.category_id WHERE l.order_id = 10432
Adea viser forløbet: hvilke linjer der talte med, hvilken regel der blev ramt, og hvorfor grænsen ikke blev nået. Support kan svare kunden med det samme.
Adea følger relationer og managers i Django-modellerne og finder de rigtige tabeller, også når navnene ikke ligner det, I siger til hinanden.
Hvis Adea har forstået en regel forkert, retter en udvikler den. Rettelsen gælder alle fremtidige svar.
Giv læseadgang til repoet og til en Postgres-læsebruger. Adea finder modellerne selv.
CREATE ROLE adea_laese LOGIN PASSWORD '…'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO adea_laese;
Adea læser den kode, der bestemmer reglerne, uanset om den ligger i views, serializers, services eller tasks.
Kun de tabeller og kolonner, I åbner for deres rolle.
Det er ikke nødvendigt, men I kan lade Adea linke til posten i admin i svaret.