How to build a FastAPI app with PostgreSQL

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 พ.ค. 2024
  • In this FastAPI PostgreSQL + pgAdmin video, we'll delve into FastAPI, a powerful python web framework and SQLAlchemy, a SQL toolkit that enhances the flexibility of SQL. You'll learn how these two integrate, creating a potent duo for web development with a professional PostgreSQL database.
    Our guide includes a quick overview of PostgreSQL and pgAdmin, an open-source database system and its web-based administration tool, ensuring top-notch database management.
    Finally, we'll cover Pydantic for data validation and parsing, a vital component for any robust FastAPI application working with PostgreSQL.
    By the end of this video, you'll have the knowledge to build a FastAPI application, utilizing SQLAlchemy, PostgreSQL, pgAdmin, and Pydantic.
    🎥 React + FastAPI: • How to build a React +...
    🎥 AWS Lambda + FastAPI: • Deploy FastAPI on AWS ...
    🎥 MongoDB + FastAPI: • Unlocking the Power of...
    🎥 MySQL + FastAPI: • How to build a FastAPI...
    ===========================
    🎓 Courses can be found:
    FastAPI Beginner & Advanced: www.udemy.com/course/fastapi-...
    Learn Chatbot Development: www.udemy.com/course/the-comp...
    ===========================
    🛒 GEAR & RECOMMENDED BOOKS: kit.co/codingwithroby
    ⌚️Timestamps:
    0:00 Introduction
    01:00 FastAPI, SQLAlchemy, uvicorn, pydantic installation
    03:00 Start FastAPI Application
    07:00 Create PostgreSQL connection
    07:45 pgAdmin GUI
    11:00 Create PostgreSQL Tables
    16:00 Connect FastAPI, PostgreSQL with SQLAlchemy
    17:00 FastAPI API Endpoints
    Happy coding!
    #codingwithroby #fastapi #postgresql

ความคิดเห็น • 75

  • @user-gv4tt6sm7r
    @user-gv4tt6sm7r 6 หลายเดือนก่อน

    Erck tu ejemplo me ayudo a entender mejor FastApi he visto varios videos y el tuyo es uno de los mejores que los explica, sencillo y al grano, gracias!

  • @user-uf3xl5un3p
    @user-uf3xl5un3p 5 หลายเดือนก่อน

    Thank you so much! Very detailed explanation!

    • @codingwithroby
      @codingwithroby  5 หลายเดือนก่อน

      Glad it was helpful! 🙂

  • @pipe3194
    @pipe3194 7 หลายเดือนก่อน +4

    Great job! 🎉 I really appreciate clears and directs explanations like this one

    • @codingwithroby
      @codingwithroby  7 หลายเดือนก่อน

      Woot woot! I am so glad you were able to find some value. Cheers!!!

  • @aviraltiwari3412
    @aviraltiwari3412 10 หลายเดือนก่อน +2

    Great video. Lot of quality of content. Very informative! I'd suggest creating videos related to CORS, that would be great!

  • @elykou4843
    @elykou4843 7 หลายเดือนก่อน

    Mine works now.What a great teacher .thanks you too much.

    • @codingwithroby
      @codingwithroby  7 หลายเดือนก่อน

      Thank you so much 🙂

  • @mattmarshall1834
    @mattmarshall1834 2 หลายเดือนก่อน +2

    Great tutorial. Very quick and to the point. It would be interesting to see a video about releasing a FastAPI/React/Postgres application to AWS or GCP.

  • @lotusmojo
    @lotusmojo หลายเดือนก่อน +1

    Great job buddy!.. very clear and concise

    • @codingwithroby
      @codingwithroby  หลายเดือนก่อน

      Glad you liked it! 🙂

  • @cesardavidmillan6648
    @cesardavidmillan6648 6 หลายเดือนก่อน +1

    It was a great tutorial! even though I made a few changes while watching the tutorial! way to go!

    • @codingwithroby
      @codingwithroby  6 หลายเดือนก่อน

      Great to hear! Woot woot 🙂

  • @vandanadubey2315
    @vandanadubey2315 5 หลายเดือนก่อน

    Great Video Eric , Thank you

    • @codingwithroby
      @codingwithroby  5 หลายเดือนก่อน

      Glad it was helpful! 🙂

  • @mrkzmusic
    @mrkzmusic 5 หลายเดือนก่อน

    Thanks a lot Eric!

    • @codingwithroby
      @codingwithroby  5 หลายเดือนก่อน

      You are more than welcome!

  • @DIVYANAMBIAR-by7om
    @DIVYANAMBIAR-by7om 7 วันที่ผ่านมา

    Thank you, Eric. Really helpful

  • @trixer230
    @trixer230 หลายเดือนก่อน

    I would love this tutorial but showing how to use relationships. For instance how would you make it pull all the answers automagically when the question is pulled?

  • @goswami_himanshu
    @goswami_himanshu 8 หลายเดือนก่อน +1

    Great tutorial Eric.
    If you can create a video on slightly complex project using fastAPI and postgreSQL i'll watch it even if it's 3 hours long
    Btw you don't have to import List from typing anymore. New versions of python provides this already with the name list

    • @codingwithroby
      @codingwithroby  8 หลายเดือนก่อน +1

      Thanks for the suggestion! What exactly are you wanting to see so I have a better understanding 🙂

    • @parnika2277
      @parnika2277 7 หลายเดือนก่อน +1

      @@codingwithroby maybe a program that has 2 tables one for student info and one for student marks and then you calculate things like average, grade, etc

  • @muhammadnajamulislam2823
    @muhammadnajamulislam2823 3 หลายเดือนก่อน +1

    very nice and easy way of teaching

  • @shotihoch
    @shotihoch 20 วันที่ผ่านมา

    Absolute usefull tutorial. Found it... ughhh finally. Thank you! It was pretty hard to understand db_dependency = Annotated[Session, Depends(get_db)] logic, but with gpt i think I got it. Didnt get about async without await thing.... but I just think it some kind of inner processes of FastAPI requires it. Anyways thank you!

    • @codingwithroby
      @codingwithroby  19 วันที่ผ่านมา +1

      Great to hear! Thank you! 😊

  • @domingotrejo4554
    @domingotrejo4554 7 หลายเดือนก่อน +1

    in a production project the lines of create_all and Annotated go ouside of endpoints, are a good practice ?

    • @codingwithroby
      @codingwithroby  7 หลายเดือนก่อน

      I would probably use migrations and have a deployment script do it, but for small/medium sized applications, absolutely!

  • @fahdagodzo5795
    @fahdagodzo5795 หลายเดือนก่อน +1

    thanks, it's been helpful

  • @raulmedrano9818
    @raulmedrano9818 7 หลายเดือนก่อน +1

    thanks excellent job

    • @codingwithroby
      @codingwithroby  7 หลายเดือนก่อน

      Glad you were able to find value 🙂

  • @tihomirkamenov2862
    @tihomirkamenov2862 5 หลายเดือนก่อน

    Awesome video!
    p.s. An async function without an await expression will run synchronously :)

    • @codingwithroby
      @codingwithroby  5 หลายเดือนก่อน

      Nice addition!

    • @AzharRafiq
      @AzharRafiq 3 หลายเดือนก่อน

      when we should use async vs def only?

    • @tihomirkamenov2862
      @tihomirkamenov2862 3 หลายเดือนก่อน

      Typically, async returns another async def most of the time (with await) until it reaches the final stage - any data from database, message, string, int etc. On the last stage the def should be also async but it will return with no await
      So in this case, @codingwithroby is correct, my mistake! @@AzharRafiq
      However, we use async def to avoid big delays when fetching data. This allows the program to switch between multiple tasks without blocking the main thread.

  • @dipanjansaha6824
    @dipanjansaha6824 9 หลายเดือนก่อน +1

    Coming from MVC background! How about we put the files into a production grade folder 📂 structure?

    • @codingwithroby
      @codingwithroby  9 หลายเดือนก่อน

      The idea here was to simply show how to setup FastAPI with PostgreSQL. I appreciate your feedback🙂

    • @metinEsturb
      @metinEsturb 6 หลายเดือนก่อน

      @dipanjansaha6824: how would this structure that you mention look like? Do you have any reconmendations?

  • @rafiali7315
    @rafiali7315 3 หลายเดือนก่อน +1

    i watched your three times but i am got same error my question pass in db perfectly but choices doesnt put,

  • @thegreekgoat98
    @thegreekgoat98 10 หลายเดือนก่อน +5

    It would have been much better if you have explained the logic behind the lines and what it does more clearly especially in database part.

    • @codingwithroby
      @codingwithroby  10 หลายเดือนก่อน +1

      Thanks for your recommendations!

  • @snir109
    @snir109 10 หลายเดือนก่อน

    Thank you

    • @codingwithroby
      @codingwithroby  10 หลายเดือนก่อน

      You are welcome 🙂

  • @AxlRoseGVillanueva
    @AxlRoseGVillanueva หลายเดือนก่อน

    Greate tutorial!! how can we update database if we made changes from models? I really appreciate!

    • @codingwithroby
      @codingwithroby  28 วันที่ผ่านมา

      You will want to use something like Alembic. If it is a brand new app, you can delete the db and let SQLAlchemy recreate a new one for you.

  • @TommyPiano.
    @TommyPiano. 4 หลายเดือนก่อน +1

    Great video. Could you share the repo link by any chance please?

    • @codingwithroby
      @codingwithroby  4 หลายเดือนก่อน

      Hey friend, for this video I never saved the repo. Sorry!

  • @timothyatanda1188
    @timothyatanda1188 5 หลายเดือนก่อน

    What a comprehensive tutorial video, that was amazing!
    please do you have a class on Udemy where i can learn from you very well?

    • @codingwithroby
      @codingwithroby  5 หลายเดือนก่อน

      Yes I do! Link is in description 🙂

  • @timothyatanda1188
    @timothyatanda1188 4 หลายเดือนก่อน +1

    Eric, please do you have the completion of this tutorial in your Udemy class with the topic "Fastapi- The Complete Curse 2024 (Beginners+Avanced)? i mean the aspect of the delete, get _by_id and update"🙏

    • @codingwithroby
      @codingwithroby  4 หลายเดือนก่อน

      It is not exactly this tutorial, but it shows how to do almost everything 🙂

    • @codingwithroby
      @codingwithroby  4 หลายเดือนก่อน

      I am confident it will have what you are looking for

  • @iVentusHD
    @iVentusHD 9 หลายเดือนก่อน

    HELLO PLEASE, i need you're help i followed the tuto exactly but when i want to launch the API i have an error "from sqlalchemy import Session
    ImportError: cannot import name 'Session' from 'sqlalchemy'"

    • @codingwithroby
      @codingwithroby  9 หลายเดือนก่อน

      Hey friend! How is it going? Let's figure out what is going on here. When are you doing this? It should be session maker if you are adding: from sqlalchemy.orm import sessionmaker

    • @iVentusHD
      @iVentusHD 9 หลายเดือนก่อน

      @@codingwithroby hey, the ImportError is Gone but when i do the Post endpoint they add null data to the database (i try to make my own api with user and when i post an user i can see the ID in database but all of the other data is null)

    • @codingwithroby
      @codingwithroby  9 หลายเดือนก่อน

      @@iVentusHD What does your Python method look like?

  • @VeejayRampay
    @VeejayRampay หลายเดือนก่อน

    class with a plural name are bad form but this is a nice video, props

  • @fatti.casuali
    @fatti.casuali 8 หลายเดือนก่อน +1

    Hi! Can anyone help me? I would like to have a GET endpoint that returns a JSON like this:
    {
    "question_text": "question",
    "choices": [
    {
    "choice_text": "answer1",
    "is_correct": true
    },
    {
    "choice_text": "answer2",
    "is_correct": false
    },
    {
    "choice_text": "answer3",
    "is_correct": false
    },
    {
    "choice_text": "answer4",
    "is_correct": false
    }
    ]
    }
    How do I do it? It seems like I can't select the columns I want even if the query seems right:
    print(select(Questions, Choices).where(Questions.id == Choices.question_id))
    SELECT questions.id, questions.question_text, choices.id AS id_1, choices.choice_text, choices.is_correct, choices.question_id
    FROM questions, choices
    WHERE questions.id = choices.question_id
    Thanks for the help!

    • @codingwithroby
      @codingwithroby  8 หลายเดือนก่อน

      If you want this all in a single JSON, I would suggest creating another Python object that holds a String along with the choices objects, query the DB and place the info accordingly with the object you are returning.

    • @elykou4843
      @elykou4843 7 หลายเดือนก่อน

      Post IS where you creat every thing'Just past it in thé post Doc and get it in thé get questions.

  • @juandelgado6201
    @juandelgado6201 2 หลายเดือนก่อน

    Can you share github repo with that project ?

  • @ledieuduballonrond456
    @ledieuduballonrond456 3 หลายเดือนก่อน

    Hi Eric I hope you're doing well,
    I have a slight issue when I paste the URL on my browser i keep getting "detail" : "not found". If anyone could help me please ?

    • @mattmarshall1834
      @mattmarshall1834 2 หลายเดือนก่อน

      What is the url that you are pasting? If you past the localhost url without anything after it the "detail":"not found" message will appear.

    • @ledieuduballonrond456
      @ledieuduballonrond456 2 หลายเดือนก่อน

      So what should I paste ?

  • @notalanjoseph
    @notalanjoseph 6 หลายเดือนก่อน

    How to host this on render?

    • @codingwithroby
      @codingwithroby  6 หลายเดือนก่อน

      Render is one option and another option is AWS. I have a video on AWS deployment you may be interested in.

  • @akashsoni7925
    @akashsoni7925 4 หลายเดือนก่อน

    Create something like this
    1) user registration in FastAPI ( Using two database PostgreSQL and MongoDB )
    Registration fields - Full Name,Email,Password,Phone,Profile_picture
    First Name,Password,Email,Phone - postgreSQL
    Profile picture - MongoDB
    Check Email already exist
    2) user registration in fastAPI ( Using postgreSQL )
    Registration fields - Full Name,Email,Password,Phone,Profile_picture
    Create table Users to store : First Name,Password,Email,Phone
    Create table Profile to store : Profile_picture
    Check Email , Phone already exist

  • @nehagawande1377
    @nehagawande1377 9 หลายเดือนก่อน +1

    can you share code

    • @codingwithroby
      @codingwithroby  8 หลายเดือนก่อน +2

      I do not have this code specifically anymore, but I can definitely look into keeping all code from my TH-cams.