A-多くのテーブルの設計、関連するフィールドのManyToManyField。
本と著者の関係:本は複数の著者を持つことができ、著者が1冊の本以上を公開することができ、それは多くのモードであります
1.1 models.pyコード:
クラスの著者(models.Model): "" " 作者""" 名前 = models.CharField(max_lengthを= 20、verbose_name = " 作者" ) メール = models.CharField(max_lengthを= 20、verbose_name = " 邮箱" ) アドレス =モデル.CharField(MAX_LENGTH = 50、verbose_name = " 籍贯" ) モバイル = models.CharField(MAX_LENGTH = 11、verbose_name = " 手机号" ) クラスメタ: verbose_name_plural = " 作者" デフ __str__ (自己): 返すself.nameの クラス:ブック(models.Model) '' ' 帳情報 ' '' BOOK_NAME = models.CharField(MAX_LENGTH = 100、verbose_name = " タイトル" ) #多対 AUTH = models.ManyToManyField(著、verbose_nameを= " 著者" ) クラスのMeta: verbose_name_plural = " ブック" DEF __str__ (自己): 戻り self.book_name
1.2 manage.py makemigrations投票とのpython manage.py移行Pythonの実行
1.3 admin.py登録
クラスControlAuthor(admin.ModelAdmin): list_display = [ ' 名前'、' メール'、' 住所'、' モバイル' ] クラスControlBook(admin.ModelAdmin): list_display = [ ' BOOK_NAME '、' book_auth ' ]
#方法を定義します認証本を横断して、リストによる返品 DEFのbook_auth(セルフ、OBJ): リターン [a.name ためでobj.auth.all()] admin.site.register(models.Author、ControlAuthor) admin.site.register(models.Book、ControlBook)
1.4ブラウザが結果にアクセスするには:
本の終了後、データベースは、テーブル、多くの関係を生成します。