modelsでデータベースを定義してマイグレーションの後、Djangoの管理サイトへはどのようにして入ったらいいんだ?と言うつまづきを備忘録で残します。
コンテンツ
手順
modelsにモデルを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from django.db import models from django.contrib.auth.models import User #Messageクラス class <strong>Message</strong>(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, \ related_name= <em>'message_owner</em>' ) group = models.ForeignKey(<em>'Group'</em>,on_delete=models.CASCADE) content = models.TextField(max_length=1000) share_id = models.IntegerField(default=-1) good_count = models.IntegerField(default=0) share_count = models.IntegerField(default=0) pub_date = models.DateTimeField(auto_now_add=True) def <strong>__str__</strong>(<em>self</em>): return str(<em>self</em>.content) + <em>'('</em> + str(<em>self</em>.owner) + <em>')'</em> def <strong>get_share</strong>(<em>self</em>): return Message.objects.get(id=<em>self</em>.share_id) class Meta: ordering = (<em>'-pub_date'</em>,) #Groupクラス class <strong>Group</strong>(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, \ related_name=<em>'group_owner'</em>) title = models.CharField(max_length=100) def <strong>__str__</strong>(<em>self</em>): return <em>self</em>.title #Friendクラス class <strong>Friend</strong>(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, \ related_name=<em>'friend_owner'</em>) user = models.ForeignKey(User, on_delete=models.CASCADE) group = models.ForeignKey(Group, on_delete=models.CASCADE) def <strong>__str__</strong>(<em>self</em>): return str(<em>self</em>.user) + <em>' (group:"'</em> + str(<em>self</em>.group) + <em>'")'</em> #Goodクラス class <strong>Good</strong>(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, \ related_name=<em>'goot_owner'</em>) message = models.ForeignKey(Message, on_delete=models.CASCADE) def <strong>__str__</strong>(<em>self</em>): return <em>'good for"'</em> + str(<em>self</em>.message) + <em>'"(by'</em> + \ str(<em>self</em>.owner) + <em>')'</em> |
このあと下記コマンドでマイグレーションでファイルを作成
$python manage.py makemigrations
そして、マイグレーションの実行でデータベースの更新
$python manage.py migrate
この手順を踏むとmigrationsされた管理サイトができあがります。
試しに、管理サイトにリダイレクトしてみます。
$python manage.py runserver
から
http://127.0.0.1:8000/admin
へリダイレクトしてみます。
詰まったところ

ログインとパスワードがわかりません。
解決
解決方法としては、管理画面を利用できる管理者ユーザー (スーパーユーザー) を作成します。
$python manage.py createsuperuser
作成方法はターミナルに戻り、下記のコマンドを実行します。

上記のケースだと2行目に leave blank to use ‘ ‘ とありますが、「空白の場合だと勝手に’ ‘が指定されます。」と言う意味になるのでそのまま空白で進みました。
こちらで設定ができたので改めてログインとパスワードを使用して入ってみます。
完成ですね!

無事ログインできました。
コメントを残す