☆☆ 新着記事 ☆☆

2018年5月30日水曜日

Django (17) (18) 2つ目のDBの連結



データ・ベースの連結
 
現在の /music/ のページ。
 
 
 
 
1)  APPL(music)フォルダ内の "models.py" を修正する。


from django.db import models

class Album(models.Model):
    artist = models.CharField(max_length=250)
    album_title = models.CharField(max_length=500)
    genre = models.CharField(max_length=100)
    album_logo = models.CharField(max_length=1000)

    def __str__(self):
  return self.album_title + " - " + self.artist


class Song(models.Model):
    #Foreign KeyでAlbum DBと紐付いている
    album = models.ForeignKey(Album,on_delete=models.CASCADE) 
    file_type = models.CharField(max_length=10)
    song_title = models.CharField(max_length=250)

    def __str__(self):
  return self.song_title  # Titleを表示させる。

  
*) 今回の場合、Databaseのテーブルのストラクチャー変更をしていないので、migrationをする必要はない。
*) この段階で、/music/を表示しても、Song D.Bにはオブジェクトが登録されていないので、Albumの情報しか
 相変わらず表示されない。

2) Amin Panelとの連携

from django.contrib import admin
from .models import Album, Song                               #Song Data Baseの追加

admin.site.register(Album)  


admin.site.register(Song)                                              #Song Data Baseの追加
 
*) この段階で, AdminのDB操作画面に、DBへの登録・管理画面が追加される。



ターミナルからのデータ投入


Admin画面で登録の確認

 
 



*現時点では、/music/ は、文頭の表示から変更されていない。


Terminalからobjectの確認

(*上記、terminalのコマンドの続き。)


もう一つのデータ・登録方法 ( 'create' function)





参考)
Django Tutorial for Beginners - 17 - Adding Songs to our Database
https://youtu.be/TnU_I8DKKYQ

Django Tutorial for Beginners - 18 - Related Objects Set
https://youtu.be/uvafEFi2bY4



0 件のコメント:

コメントを投稿