Django CRUD Model #1
Django CRUDのためにモデルを勉強して書きます!
Django app開発におけるモデルの重要な役割
前の文章に記載されているように、モデルの役割はORM
であり、データベース内のデータの作成、クエリー、変更、削除を可能にする
ORM
オブジェクト(クラス)とリレーショナル・データベースのデータの自動マッピング
これは、オブジェクトとテーブルが互換性を持って作成されていないため、不一致が発生し、ORMはオブジェクト間の関係に基づいてSQL文を自動的に生成し、不一致の問題を解決するために必要な理由です.
ORMを使用するメリット
オブジェクト(クラス)とリレーショナル・データベースのデータの自動マッピング
これは、オブジェクトとテーブルが互換性を持って作成されていないため、不一致が発生し、ORMはオブジェクト間の関係に基づいてSQL文を自動的に生成し、不一致の問題を解決するために必要な理由です.
ORMを使用するメリット
ORMを使用するとクラスの方法でdbを制御することができ,開発者はクラスモデルのみを用いてプログラミングを行うことができる.
既存のオブジェクトとは独立して作成され、明確なオブジェクトが情報を回収およびマッピングできるため、ERPへの依存性を低減できます.
プログラム構造がデータ構造に与える影響を低減
オブジェクト間の関係に基づいてSQL文が自動的に生成され、オブジェクトのデータ型を使用しても、RDBMSのデータ構造とオブジェクト向けモデル間の距離を短縮できます.
オブジェクトに集中することで、DBMSの交換に伴うリスクと時間を軽減
ORMを使うときのデメリット
プロジェクトの複雑性が高いほど、実施が難しくなり、設計が悪くなり、速度が遅くなると、不一致の問題を引き起こす可能性があります.よく使われる大型SQL文の中には、速度を速めるために個別の調整が必要になる場合があり、最終的にはSQL文を使用する必要がある場合があります.
ERDによるカテゴリの作成
参考のERD👇🏻
作成されたクラスコード
DB Tableを作成するために作成されたライブラリクラスmodels.Model
は、継承可能であるshell
で作業しやすい名前は__str__
で、製品とAllergy classはManyToManyField
でM2M
の関係を確立しました.
Djangoモデルを使用してデータベースにTABLEを作成する
上にClassを作成してもDBにモデルが生成されないので、ORMで直接DBにData Tableを作成する必要があります!$ python manage.py makemigrations <app_name>
makemigrations
はmigrate
ファイルを生成する役割を果たし、python
コードをSQLに変換するための設計文を生成するものと見なすことができる.$ python manage.py migrate
移行ファイルをデータベースに反映するコマンド
前述したように、migrate
が完了すると、データベースに実際のテーブルが作成されていることが確認されます.
文章の内容に間違いがあったらFeedback!👊🏻👊🏻👊🏻👊🏻
ref.
https://geonlee.tistory.com/207
Reference
この問題について(Django CRUD Model #1), 我々は、より多くの情報をここで見つけました
https://velog.io/@ambitiouskyle/Django-CRUD-Model-1
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
上にClassを作成してもDBにモデルが生成されないので、ORMで直接DBにData Tableを作成する必要があります!
$ python manage.py makemigrations <app_name>
makemigrations
はmigrate
ファイルを生成する役割を果たし、python
コードをSQLに変換するための設計文を生成するものと見なすことができる.$ python manage.py migrate
移行ファイルをデータベースに反映するコマンド前述したように、
migrate
が完了すると、データベースに実際のテーブルが作成されていることが確認されます.文章の内容に間違いがあったらFeedback!👊🏻👊🏻👊🏻👊🏻
ref.
https://geonlee.tistory.com/207
Reference
この問題について(Django CRUD Model #1), 我々は、より多くの情報をここで見つけました https://velog.io/@ambitiouskyle/Django-CRUD-Model-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol