雲を使ったジャンプスタンプゴー-2章(続き)
第二章:ドラムの基本要素を熟知する.
812-2データ管理モデル
1.データを管理するモデルとは?は、通常、SQLクエリー文を使用してWeb開発においてデータを格納およびクエリーします.つまり、データを格納してクエリーするためには、SQLクエリー文を個別に学習する必要があります.まるで勉強するものが一つ増えたようだ.ただし、モデルを使用する場合は、SQLクエリー文を知らなくてもデータを格納およびクエリーできます. 2.migrateとテーブルについて理解します.
81[1]障害開発サーバの起動時の警告メッセージの表示
python manage.py runserverコマンドの実行時に発行される警告メッセージの詳細
見てみましょう.中間の警告情報を見ると、「Youhave 18未適用遷移」は「未適用遷移が18個ある」と解釈される.
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py runserver
/workspace/mystie> python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
May 06, 2020 - 09:49:37
Django version 3.1.3, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
上記の警告メッセージはadmin、auth、contenttypes、sessionsアプリケーションに関連しています.このエラーを解決するにはpython manageを使用します.pymigrateを実行する必要があるアドバイザを特定できます.
migrateコマンドを使用してアプリケーションに必要なテーブルを作成する
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
メッセージは、migrateによってadmin、auth、contenttypes、sessionsアプリケーションで使用されるテーブルが作成されたことを示します.この机についてよく知る必要はありません.ほとんど怒らないから.
3.モデルの作成
今、パブロで使われているモデルを作ってみましょう.パブロは質問答弁掲示板なので、質問や答弁に対応するモデルがあるはずです.
構想[1]モデル属性
質問モードには、次の属性が必要です.
属性名
説明:
subject
問題のタイトル
content
問題の内容
create_date
問題が作成された時刻
答弁パターンには、次の属性が必要です.
属性名
説明:
question
質問(質問の答えを知る必要があるため、質問のプロパティが必要)
content
答弁の内容
create_date
回答の作成日時
[2] pybo/models.pyで問題モデルを作成するには
[ファイルパス:/workspace/mysite/pybo/models.py]
[3] pybo/models.pyで回答モデルを作成する
[ファイルパス:/workspace/mysite/pybo/models.py]
[4] config/setting.pyにpyboアプリケーションを登録する
[ファイルパス:/workspace/mysite/config/setting.py]
「81 makemigration」を使用して、テーブルタスクファイルを作成します.
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py makemigrations
Migrations for 'pybo':
pybo\migrations\0001_initial.py
- Create model Question
- Create model Answer
運転[6]migrate
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, pybo, sessions
Running migrations:
Applying pybo.0001_initial... OK
ここまでついていけば、実際のテーブルが出来ています.参照サイト:https://wikidocs.net/722802 この投稿は、Wekidogsの「ジャンプ倉庫」という本を整理した. この投稿は個人用のみです.
これは後でポートフォリオとして使う整理資料ですので、不合格や無断盗用はしないでください.
個人学習の目的のためだけに使いましょう
812-2データ管理モデル
1.データを管理するモデルとは?
81[1]障害開発サーバの起動時の警告メッセージの表示
python manage.py runserverコマンドの実行時に発行される警告メッセージの詳細
見てみましょう.中間の警告情報を見ると、「Youhave 18未適用遷移」は「未適用遷移が18個ある」と解釈される.
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py runserver
/workspace/mystie> python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
May 06, 2020 - 09:49:37
Django version 3.1.3, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
上記の警告メッセージはadmin、auth、contenttypes、sessionsアプリケーションに関連しています.このエラーを解決するにはpython manageを使用します.pymigrateを実行する必要があるアドバイザを特定できます.
migrateコマンドを使用してアプリケーションに必要なテーブルを作成する
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
メッセージは、migrateによってadmin、auth、contenttypes、sessionsアプリケーションで使用されるテーブルが作成されたことを示します.この机についてよく知る必要はありません.ほとんど怒らないから.
3.モデルの作成
今、パブロで使われているモデルを作ってみましょう.パブロは質問答弁掲示板なので、質問や答弁に対応するモデルがあるはずです.
構想[1]モデル属性
質問モードには、次の属性が必要です.
属性名
説明:
subject
問題のタイトル
content
問題の内容
create_date
問題が作成された時刻
答弁パターンには、次の属性が必要です.
属性名
説明:
question
質問(質問の答えを知る必要があるため、質問のプロパティが必要)
content
答弁の内容
create_date
回答の作成日時
[2] pybo/models.pyで問題モデルを作成するには
[ファイルパス:/workspace/mysite/pybo/models.py]
from django.db import models
# ---------------------------------- [edit] ---------------------------------- #
class Question(models.Model):
subject = models.CharField(max_length=200)
content = models.TextField()
create_date = models.DateTimeField()
# ---------------------------------------------------------------------------- #
上に、subjectは文章のタイトルを記録し、内容は文章の内容を記録し、create dateは書く時間を記録します.[3] pybo/models.pyで回答モデルを作成する
[ファイルパス:/workspace/mysite/pybo/models.py]
from django.db import models
class Question(models.Model):
subject = models.CharField(max_length=200)
content = models.TextField()
create_date = models.DateTimeField()
# ---------------------------------- [edit] ---------------------------------- #
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
content = models.TextField()
create_date = models.DateTimeField()
# ---------------------------------------------------------------------------- #
上でAnswerモデルは質問に対する回答であるため,Questionモデルを属性としなければならない.ForeignKeyを使用すると、異なるモデルをプロパティとして使用できます.ForeignKeyは簡単に言えば他のモデルとの接続,on delete=modelsである.CASCADEとは、答えに関する質問を削除した場合、答えも削除するという意味です.[4] config/setting.pyにpyboアプリケーションを登録する
[ファイルパス:/workspace/mysite/config/setting.py]
(... 생략 ...)
INSTALLED_APPS = [
# ---------------------------------- [edit] ---------------------------------- #
'pybo.apps.PyboConfig',
# ---------------------------------------------------------------------------- #
'django.contrib.admin',
'django.contrib.auth',
(... 생략 ...)
]
(... 생략 ...)
[5]migrateを使用してテーブルを作成する「81 makemigration」を使用して、テーブルタスクファイルを作成します.
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py makemigrations
Migrations for 'pybo':
pybo\migrations\0001_initial.py
- Create model Question
- Create model Answer
運転[6]migrate
[コマンドプロンプト]
root@goorm : /workspace/mystie# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, pybo, sessions
Running migrations:
Applying pybo.0001_initial... OK
ここまでついていけば、実際のテーブルが出来ています.
これは後でポートフォリオとして使う整理資料ですので、不合格や無断盗用はしないでください.
個人学習の目的のためだけに使いましょう
Reference
この問題について(雲を使ったジャンプスタンプゴー-2章(続き)), 我々は、より多くの情報をここで見つけました https://velog.io/@wntjr113/구름을-이용한-점프-투-장고-2장이어서テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol