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=dynamicand list relationships injointo inline those only.
With
API_ADD_RELATIONS=False, relationships are omitted by default. You can still inline specific ones by combiningdump=dynamicwithjoin=...or by selecting joined fields (e.g.,fields=title,author.first_name), which preserves those fields in the response.
Or set
dump=jsonto inline all relationships.API_ADD_RELATIONSmust be enabled and, for deep graphs, considerAPI_SERIALIZATION_DEPTHfor eager loading.
Pagination counts look wrong with joins¶
flarchitect applies
DISTINCTon base rows for typical join queries solimit/total_countoperate 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
joinwithdump=dynamicto 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.