For some background, I worked on a Django app that had a SQLite3 database. I just created models in Django using the python manage.py startapp model_name
, and just directly manipulated the database by creating API endpoints in python. I would then make API requests and change my database like that.
But this time, I've created a Django app that has a PostgreSQL database. I managed to connect my database to Django after figuring out how to install psycopg2. Then, I created a Users table in PostgreSQL through the command line. I want to get this table to show on my Django admin site, and hopefully repeat the same method for the other app. But the Django admin site can render only Django models that have been registered to the admin. So now, I'm wondering if there is a better method for working with PostgreSQL in Django.
I saw SO posts suggesting inspectdb
, but this creates a large models.py
file generating other classes for my app. I also couldn't successfully register the Users model to the Django admin site. I am now curious if I am working in the opposite direction. Should I be generating User models in Django and then from there, generate my PostgreSQL database?
Basically, can someone explain how to work with a PostgreSQL database in a Django app?