2016-05-04 6 views
0

私はORMの内容とDjangoでの使用方法を明確にする助けが必要です。 ORMを使う理由は何ですか?Djangoのコードエンティティを持つORMの目的は何ですか?

ご協力いただきありがとうございます。

+0

ORMを使用すると、SQLを学習する代わりにPythonコードでデータクエリを記述できます。 –

+0

「コードエンティティ」とは何ですか? –

答えて

1

ORMは、オブジェクト・リレーショナル・マッピングを表します。 ORMが行うことは、データベースエンティティをPythonコード(通常はクラス)にマップすることです。 Pythonでクエリを構築すると、クエリはシーンの背後にあるSQLに変換されます。代わりに、このクエリの例については

SELECT * FROM api_users; 

我々が使用することができます。

users = User.objects.all() 

私たちはSQLを使用した場合、我々は、ドライバを使用していることを実行しなければならなかっただろう、その結果を解析し、列にアクセスします。しかし、ここのORMは私たちのためのものです。 Userクラスのインスタンスを取得し、user.first_nameのような列を取得しています。それは、物事をより簡単に、より速く使用させます。

コメントでJohn Gordonが述べたように、ORMを使用する利点の1つは、私たちが心配することなくバックエンドデータベースを切り替えることができることです。 SQLクエリはデータベースエンジンごとに異なります。 SQLクエリを抽象化することによって、実際にSQLクエリをハードコーディングするわけではありません。 ORMは、各DBエンジンのクエリを構成する方法を知っています。

+1

ORMでは、アプリケーションコードを変更することなく、異なるバックエンドデータベース(OracleからMySQL、またはNoSQLタイプのソリューションに切り替えることもできます)に切り替えることもできます。 –

関連する問題