---
title: "Spørg jeres Django-app, hvorfor en pris blev, som den blev · Adea"
description: "Adea læser jeres Django-modeller og pris- og rabatlogik og forklarer salg og support, hvordan en pris er regnet ud."
url: https://adea.app/da/stack/django
---

# Hvorfor fik kunden ikke rabatten? Få svaret med reglen i koden.

Priser, rabatter og regler ligger ofte i 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.

[Prøv gratis](https://adea.app/da/signup) [Se demoen](https://adea.app/da/demo)

## Hvorfor fik ordre 10432 ikke mængderabat?

1. Finder ordre 10432
2. Læser shop/pricing.py
3. Sammenholder reglen med ordrelinjerne

Et spørgsmål til et Django-system

Hvorfor fik ordre 10432 ikke mængderabat?

Adeas svar

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.

## Her kommer tallet fra

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')
```

Opslaget, Adea lavede

```
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
```

## Det får du

### 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.

### Forstår jeres ORM

Adea følger relationer og managers i Django-modellerne og finder de rigtige tabeller, også når navnene ikke ligner dem, I bruger i daglig tale.

### Reglen kan rettes

Hvis Adea har forstået en regel forkert, retter en udvikler den. Rettelsen gælder alle fremtidige svar.

## Sådan forbinder du en Django-app

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;
```

[Læs vejledningen](https://adea.app/da/docs/forbind-database)

## Spørgsmål om Django

### Virker det med Django REST framework og Celery?

Adea læser den kode, der bestemmer reglerne, uanset om den ligger i views, serializers, services eller tasks.

### Kan support se kundens data?

Kun de tabeller og kolonner, du åbner for deres rolle.

### Hvad med Django admin?

Det er ikke nødvendigt, men du kan lade Adea linke til posten i admin i svaret.

## Andre systemer

[Rails](https://adea.app/da/stack/rails) [Laravel](https://adea.app/da/stack/laravel) [Node.js](https://adea.app/da/stack/node) [Magento](https://adea.app/da/stack/magento) [WooCommerce](https://adea.app/da/stack/woocommerce) [Shopware](https://adea.app/da/stack/shopware) [Solidus](https://adea.app/da/stack/solidus)

## Hvad vil du gerne vide?

[Prøv gratis](https://adea.app/da/signup) [Book 20 minutter](mailto:hello@adea.app?subject=20%20minutter%20om%20Adea)
