Djangoベース-モデル、モデルフィールド、フィールドオプション
2430 ワード
ドラムモデル
ビュー関数で、データベースにいくつかのアクションを要求する場合は、SQL構文を使用します.
SQL(Structured Query Language)
Query:情報収集を要求するためのコンピュータ言語
SQL:リレーショナル・データベース管理システムのデータを管理するために設計された専用プログラミング言語
RDBMSタイプ:MySQL、MariaDB、PostgreSQL
障害モデルはリレーショナル・データベースのみをサポートします(RDBMS)
障害モデルによるSQLの作成/実行(ORM)
Django Model
内蔵ORM
ORMの役割:SQLを記述する必要がなく、ストレージモデルからデータベースにアクセスできます.(クエリー/追加/変更/削除)
(重要)SQLがわからなくてもいいというわけではありません.少なくとも私が作成したコードがどのようなSQLを生成するかを検証することができます.
通常、1つの倉庫プロジェクトでDBが使用されます.
Pythonクラスをデータベース・テーブルにマッピング
モデルもでる:DBテーブルへのマッピングDBてーぶるへのまっぷ
モデル例:DBテーブルの1行目
アスペクトカスタムモデルの定義
位置:特定のapp/models.py
まず、データベース・テーブルの構造/タイプを設計し、モデルを定義します.
モデルクラス名は単数形式を使用します.(ポストではなくポスト)
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
# 길이 제한이 있는 문자열
content = models.TextField()
# 길이 제한이 없는 문자열
created_at = models.DateTimeField(auto_now_add=True)
# 해당 레코드 생성시 현재 시간 자동저장
updated_at = models.DateTimeField(auto_now=True)
# 해당 레코드 갱신시 현재 시간 자동저장
# DB에서는 길이제한 유무에 따라서 문자열 필드타입이 다른다.
# 길이 제한이 없는 문자열을 많이 쓰면 성능이 좋지 않다.
モデル登録プロセス
# 2. shell에서 migrations, migrate 실행
$ python3 manage.py makemigrations
$ python3 manage.py migrate
# 위 명령을 통해서 앱폴더 아래에 migration 폴더가 생성되고 DB에 테이블을 생성한다.
# 3. admin.py에 모델클래스 등록
# 앱폴더/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
サポートされるモデルフィールドタイプ
主なフィールドタイプ:AutoField、Boolean Field、CharField、DateTimeField、FielField、ImageField、TextField
主な関係タイプ:ForeignKey、ManyToManyField、OneToOneField
プライマリフィールドオプション
フィールドオプション:各フィールドには独自のオプションがあり、汎用的なアプリケーションオプションもあります.
空(DBオプション):DBフィールドに空を許可するかどうか(デフォルト:偽)
ユニーク(DBオプション):ユニーク(エラー:エラー)
blank:入力値を検証するときに空の値を許可するかどうか(デフォルト:偽)
default:デフォルト値を指定します.値が指定されていない場合に使用
verbose name:フィールドラベル.指定されていない場合は、フィールド名が書き込まれます.
validators:入力値検証を実行する複数の関数を指定します.
各フィールドに一意のベリファイアが登録されています
ex):電子メールのみ受信、最大長制限、最小長制限、最大値制限、最小値制限など
オプション(フォームウィジェット用):選択ボックスのソースとして使用
help text(フォームwidget用):フィールド入力ヘルプ
Autonow add:Bool、Trueの場合、レコードの作成時にレコードを現在の時刻に自動的に保存
Reference
この問題について(Djangoベース-モデル、モデルフィールド、フィールドオプション), 我々は、より多くの情報をここで見つけました https://velog.io/@qudans1237/Django-기초-모델Model모델필드필드옵션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol