Troubleshooting¶
Joins don’t work¶
Ensure
API_ALLOW_JOIN=True
(globally or per model).Use correct tokens: you can pass endpoint names (plural), relationship keys (singular), kebab‑ or snake‑case; tokens are normalised and singular/plural variants are resolved.
Nested objects don’t appear¶
Use
dump=dynamic
and list relationships injoin
to inline those only.
With
API_ADD_RELATIONS=False
, relationships are omitted by default. You can still inline specific ones by combiningdump=dynamic
withjoin=...
or by selecting joined fields (e.g.,fields=title,author.first_name
), which preserves those fields in the response.
Or set
dump=json
to inline all relationships.API_ADD_RELATIONS
must be enabled and, for deep graphs, considerAPI_SERIALIZATION_DEPTH
for eager loading.
Pagination counts look wrong with joins¶
flarchitect applies
DISTINCT
on base rows for typical join queries solimit
/total_count
operate over base entities instead of multiplied join rows. If you use customfields
/groupby
/aggregations, ensure your projection reflects the desired counting semantics.
Performance tips¶
Prefer
join
withdump=dynamic
to inline only the relations you need.Enable caching for hot GET endpoints and pick a shared backend in prod.
Use rate limiting for public search routes.