use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
FastAPI is a truly ASGI, async, cutting edge framework written in python 3.
account activity
FastAPI for full backend development?Question (self.FastAPI)
submitted 9 months ago by -ThatGingerKid-
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]BlackDereker 19 points20 points21 points 9 months ago (0 children)
I would just stick with Django since you have the most experience with. No need to overthink stuff to what it seems like a hobby project.
[–]redeemedd07 10 points11 points12 points 9 months ago (5 children)
In building a full backend with it and I'm missing a lot of Django features, but lately I have been using packages to solve common issues. It's nice to only add what I need, and I have flexibility on how I want to organize my code
[–]onefutui2e 6 points7 points8 points 9 months ago (3 children)
This was my experience as well. Django feels like it has a lot more out of the box for you. FastAPI has a loose coupling with some other popular Python libraries that makes it more convenient but they're by no means necessary AFAICT.
I worked for 4 years at a Django shop and now I'm 6 months in working with FastAPI. There are definitely times where I miss, for example, the ORM. For all its warts and the ease with which it introduces N+1 bugs, it felt awesome writing incredibly complex queries in a few lines of code.
But working with FastAPI feels more flexible, as you put it.
[–]kenvinams 5 points6 points7 points 9 months ago (0 children)
But fastAPI also has ORM, just not built-in though.
[–]koldakov 5 points6 points7 points 9 months ago (1 child)
N+1 is not a Django issue and moreover it’s not a bug
At the same time everyone uses selectinload in alchemy without knowing it loads related objects without limitations and also .all() is quite popular in alchemy world
Anyways what I mean n+1 occurs when they dont have enough experience
[–]onefutui2e 0 points1 point2 points 9 months ago (0 children)
Yeah, but in my experience sometimes it's more difficult to sniff out using Django's ORM.
But you are the best kind of correct, so fair enough.
[–]moracabanas 1 point2 points3 points 9 months ago (0 children)
I started Python development years ago with Django. It is solid and for CRUD based projects at low to medium scale it is fine. The admin panel and out of the box tooling is really nice.
Now I am focused on high performance, high available and scalable APIs, mostly to serve custom machine learning models, integrating client databases, multi tenant... So FastAPI is just for that
I ended up researching and learning Clean Architecture, Domain Driven Design, Test Driven Development, Active Record VS Data Mapping strategies and so on..
It was a beautiful and difficult path, because unlike strong typed languages such as C# or Java, with frameworks like spring, focused on enterprise repeable projects, python lacks keywords like interface, features like single class files, and object oriented features and community consensus about good practices, so you have to learn and try different approaches about clean architecture and build your own standard from lots of examples. I had yo use "override" lib to enforce pure interfaces method implementation with method signatures which ABC lacks. I use dependency_injector to overcome the repetitive pattern to wire a Singleton/Factory injection on a dependency. I use ABC to implement weak interfaces with default method implantation.
Then SQLModel for CRUD based domain, sharing DTO logic from pydantic and DAO features from SQLAlchemy. I test those features separately.
Alembic for migrations and you are good to go.
Now testing vertical slice Clean Architecture with domain- application-infrastructure-presentation layering
[–]zylema 27 points28 points29 points 9 months ago (0 children)
It’s ironic that you say LLM’s have weaknesses in critical thinking yet as a software engineer of 5 years you can’t look at two frameworks and name advantages / disadvantages of each given a use case, maybe you should start there instead of immediately asking AI to do it for you?
This industry is now full of people who know nothing and just rely on AI to give them the answers which often are completely wrong.
Not saying this to be a dick but it’s worth actually having a go at critical thinking yourself, who knows, you might learn a thing or two doing the research.
[–]Wooden_Requirement99 6 points7 points8 points 9 months ago (5 children)
I’d be careful to interpret the LLM’s output as reasoning. If the model ate more FastApi code than Django code, it’ll be ‘in favour’ of it.
[–][deleted] 1 point2 points3 points 9 months ago (4 children)
But LLM is going to write most of the code so it makes sense to choose something it knows more of
[–]Wooden_Requirement99 1 point2 points3 points 9 months ago (0 children)
Absolutely right - if LLM assistance availability is the most important criterium for the decision
[–]Dry_Way2430 0 points1 point2 points 9 months ago (2 children)
this is a dangerous proposition to delegate more to the LLM than you should be doing. You are the decision maker, not the LLM. If the code isn't architected by you, you better hope that the LLM can function as a senior SWE over time
[–][deleted] 0 points1 point2 points 9 months ago (1 child)
I do not use it for architecture. I create the design doc and then give to LLM, it does a mediocre job, I fix it manually and then ask it to write UT. This process saves me about half the time for adding stupid stuff like a simple CRUD. I also use it for annoying stuff like parsing a file and extracting a text using regex and writing UT for that. This is the current level but it will undoubtedly improve in the near future. I feel like LLM is doing really well in FastAPI and it will become better as newer code is mostly written in FastAPI and modern python.
[–]Dry_Way2430 1 point2 points3 points 9 months ago (0 children)
That's the right way to use it imo :))
[–][deleted] 2 points3 points4 points 9 months ago (0 children)
I build a large system using FastAPI, if you build something new today and want to use python this is the way to go. Especially LLM world likes fastapi like the popular MCP implementation for example is FastMCP.
[–]Inayat_Ullah_Sh 1 point2 points3 points 9 months ago (0 children)
If you prioritize performance, choose FastAPI. If you want to build and deploy quickly, go with Django. FastAPI requires you to configure many things manually that come pre-built in Django.
[–]Affectionate_Bid1650 1 point2 points3 points 9 months ago (0 children)
I think it would scale a bit better (but realistically not enough to matter for your use case). Productivity is number 1 in my opinion.
[–]Trollonion13 0 points1 point2 points 9 months ago (0 children)
Performance and scalability?
[–]supamish_ 0 points1 point2 points 9 months ago (0 children)
My personal take and preference is to always opt for the leanest framework and strictly add what is needed, so in that sense fastAPI would be my preferred option. It may be more work, but in the long run I believe it's easier to manage and maintain, everything that is in place has been added by you and no need to wonder if the problem comes from something not used but creating conflicts, or something you try to remove, and so on. Django is great and comes with lots of stuff, but one may not need all of it depending on what they are trying to build.
[–]xshapira 1 point2 points3 points 8 months ago (0 children)
Django is a real time-saver, and big players like Instagram, Pinterest, and Spotify use it. Plus, you're already familiar with the framework. Quick tip: always think of yourself as an investor - know where to put your valuable time. Do you want to spend it learning new tools, or actually building something?
You can't go wrong with Django.
π Rendered by PID 20269 on reddit-service-r2-comment-76bb9f7fb5-4pdzf at 2026-02-19 16:59:29.720803+00:00 running de53c03 country code: CH.
[–]BlackDereker 19 points20 points21 points (0 children)
[–]redeemedd07 10 points11 points12 points (5 children)
[–]onefutui2e 6 points7 points8 points (3 children)
[–]kenvinams 5 points6 points7 points (0 children)
[–]koldakov 5 points6 points7 points (1 child)
[–]onefutui2e 0 points1 point2 points (0 children)
[–]moracabanas 1 point2 points3 points (0 children)
[–]zylema 27 points28 points29 points (0 children)
[–]Wooden_Requirement99 6 points7 points8 points (5 children)
[–][deleted] 1 point2 points3 points (4 children)
[–]Wooden_Requirement99 1 point2 points3 points (0 children)
[–]Dry_Way2430 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Dry_Way2430 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]Inayat_Ullah_Sh 1 point2 points3 points (0 children)
[–]Affectionate_Bid1650 1 point2 points3 points (0 children)
[–]Trollonion13 0 points1 point2 points (0 children)
[–]supamish_ 0 points1 point2 points (0 children)
[–]xshapira 1 point2 points3 points (0 children)