So I am still getting comfortable with the different parts of Django, but found it difficult to know where to put certain types of logic. It seems like logic relating to models will usually go there, http requests in the view, and data transformation and validation in the serializer (if I were to summarize quickly). I tried researching best practices and one is "Fat models and thin views", but I don't see much on the topic and some people vocalize concerns about models getting too large.
I found a couple of articles that talk about them:
this one as a general overview: https://medium.com/@dev-muhammad/where-to-write-business-logic-in-django-dfe2d13763a3
and this one which is more opinionated: https://emcarrio.medium.com/business-logic-in-a-django-project-a25abc64718c
Anyway, it doesn't seem like an exact science as people seem to have varying opinions, but any advice would be great. I can picture the issues that might arise from putting logic in a place where it is coupled strongly with that part of the code base, but it is hard for me visualize how to prevent it.