Przejdź do treści

Python. Funkcja getattr(). Dynamiczny odczyt metryk z obiektu kampanii.

Na czym to polega w sklepie

Funkcja getattr() pobiera atrybut obiektu podaną nazwą. Przy generycznych raportach e-commerce pozwala wybrać metrykę (ROAS, CPA, revenue) z parametru bez łańcucha if/elif.

Przykład ze sklepu internetowego

Użytkownik wybiera metrykę w dashboardzie - nazwa przychodzi jako string:

class Campaign:
    def __init__(self):
        self.spend = 1200
        self.revenue = 4200
        self.conversions = 35

campaign = Campaign()
metric_name = "revenue"  # z parametru URL lub config

value = getattr(campaign, metric_name)
value  # 4200

Co zrobić po stronie biznesu

  • Dynamiczny eksport kolumn z obiektu zamówienia ERP.
  • Odczyt pól opcjonalnych z response API z domyślną wartością.
  • Plugin metryk niestandardowych w generatorze raportów.

W skrócie

Trzeci argument getattr(obj, "x", default) chroni przed AttributeError przy brakujących polach w danych kampanii.