多くの多くの、一から一、多くの1:Djangoのデータベーステーブルの設計を学ぶXIV

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ブラウザが結果にアクセスするには:

 

 本の終了後、データベースは、テーブル、多くの関係を生成します。

 

おすすめ

転載: www.cnblogs.com/chushujin/p/12533851.html