Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 months ago.
Improve this question
I know there is an included library in python for SQLite3, and when I was studying Flask the course instructor proposed to use SQLAlchemy to manage an SQLite database, What´s the difference between using sqlite3 library and SQLAlchemy?
SQLAlchemy is an ORM based tool: https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping. It therefore can create and support complex objects, relationships and structures, which is more than an simple API interface with database. I am guessing here, but the SQLite3 library is probably little more than what you need to interface with the database engine. In principle, all database drivers can be used with SQLAlchemy.
I hope this helps.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am new to Flask development. But I noticed that people are using SQLAlchemy even when they are using PostgreSQL as their database. I am wondering why is it required. Thanks in advance.
You don't need to use SQLAlchemy with Flask and Postgresql. Under the hood, SQLAlchemy makes use of the Psycopg database adapter (http://initd.org/psycopg/docs/) and you can use that directly in a Flask application if you wish.
The main reasons most people probably choose to use SQLAlchemy are:
The ORM (object-relational-mapper http://docs.sqlalchemy.org/en/latest/orm/tutorial.html) - this makes it really easy to map your python classes directly to database tables and makes it possible to manipulate the database via your python objects
Session awareness (http://flask.pocoo.org/docs/0.12/patterns/sqlalchemy/) - SQLAlchemy can integrated in Flask in such a way as to provide a database transaction lifespan that matches the lifespan of an incoming web request - essentially you get a unique database connection for each request, providing a nice level of isolation
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
So far I've been using sqlite with django, however I might want to deploy it to heroku and therefore use postgresql instead. Other than installing postgres, connect it to my app and repopulate it with the same data, are there any necessary change in my python code? For example the models, queries to get the data, lines that perform adding data to my database, and so on. Does those things need change or is the syntax still the same?
If you're not using specific Django ORM's features like manual SQL queries etc, it's straightforward to migrate to a different db.
You need to change the DATABASE config and its ENGINE entry to django.db.backends.postgresql.
Of course, you need to test it after db change and before deployment.
For more see supported engines and databases details
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
As i am dealing with money like debiting from one account and crediting with other so for this work I think my database must strongly follow all ACID properties So for this work which will be more compatible MongoDB or Postgresql as i have read mongoDB does not follows ACID properties thats why i am confused.
A SQL RDBMS is definitely your choice. If you are selecting between Mongo and PostgreSQL then PostgreSQL will be the answer.
As it's stated in Mongo official FAQ:
MongoDB may not be a good fit for some applications. For example,
applications that require complex transactions (e.g., a double-entry bookkeeping system) and scan-oriented applications
that access large subsets of the data most of the time may not be a
good fit for MongoDB. MongoDB is not a drop-in replacement for legacy
applications built around the relational data model and SQL.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Sorry I want to learn Python, and was curious if Reddit's codebase uses any sort of ORM?
Have a look: http://code.reddit.com/browser/r2/r2/lib/db/
Yes. Reddit uses the Pylons framework, and relies on the SQLAlchemy framework for its own ORM layer. However, SQLAlchemy is a fairly low-level ORM library as far as ORMs go, and so Reddit has a fair amount of custom code that makes the ORM stuff work.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
How can I configure Django with SQLAlchemy?
You can use SQLAlchemy within a Django project with Aldjemy:
https://github.com/Deepwalker/aldjemy
Check this:
Replacing django orm
alchemy? :)
Google links:
replacing-django-s-orm-with-sqlalchemy
django-sqlalchemy
googleGroups
Please find this little tutorial on how to use SQLAlchemy with Django
There are many benefits of using SQLAlchemy instead of Django ORM, but consider developing a built-in-Django choice of SQLAlchemy
(to have something called a production ready)
By the way, Django ORM is going better - in Django 1.11 they added UNION support (a SQL basic operator), so maybe some day there will be no need to change ORM.