ソフトウェア開発プロセスのすべてが、我々は変更をオブジェクトの情報は、対応する情報を必要とするとき、プログラマは、オブジェクト指向でコードを書く、ユーザレベルでのオブジェクトとリレーショナルデータベース、ビジネス・ロジック・プレーンを伴います、リレーショナルデータベースに広がる。その前に、我々は、対応するデータテーブルを作成するSQL文を記述する必要があります
(例:AUTH_USERテーブルを作成し、あなたが対応するフィールドの種類を設定するには、各フィールドを定義する必要があり、属性、およびデータテーブルの主キーまたは一意キーとの良好な定義テーブルのストレージエンジン、文字エンコーディングを設定します。)
そして、ビジネスロジックは、多くのSQL文、テーブルのCRUD操作があります
そして、ビジネスロジックは、多くのSQL文があり、テーブルのCRUD操作、
たとえば、子供の場合は、POSTリクエストのクチコミを介して情報を送信します
Pythonは、主要な設計オブジェクトは、すべての事項であります_
あなたは、データベースを操作することができますが、また、オブジェクト指向のアプローチを通じて、それを達成するために?
- そうORMがありました
ORMは何ですか?
我々の目標、リレーショナルデータベースの自動XX、ビジネスロジックとデータベース層の等価物として働くブリッジ
だから、ジャンゴでは、どのように我々は、モデルクラスそれを開発できますか?
これは、役割Models.pyファイルです!
-Django、アプリケーションを構築するたびに、アプリケーションがフォルダになり、
Models.pyは自動的にこれがモデルクラスを書くための場所である、ファイルを生成します
Modelクラスの強みと弱み:
メリット -
開発者は、ビジネスロジックの処理に焦点を当てて開発効率を向上させることができ、
あなたが操作対象の方法によって、ビジネス・ロジック・コードでネイティブのSQL文を記述する必要はありません、あなたは、データベースを操作することができます!
デメリット -
ある程度効率プログラムの費用、
長い時間の中で書かれたORM、あなたはSQL文に忘れること
どのようにプロジェクトを選択するには? -
複雑なSQL文またはデータベース・レベルの機能 - 簡単にネイティブSQLを使用して
使用ORM - 開発効率を向上させます
例えば -
フラスコでの使用SQLAlchemyのは、この性能低下に開発効率の相対性を高めるために、ネイティブSQLよりも5%しか遅く簡単に、効率的な実行とジャンゴにORMを使用したい許容です!