django-マルチテーブル関係/オペレーションと

#表の関係


## - 1
作成
django.db輸入モデルから

クラスの著者(models.Model):
名前= models.CharField( '姓名'、MAX_LENGTH = 50)


クラス妻(models.Model):
名前= models.CharField( '姓名'、MAX_LENGTH = 50)
年齢= models.IntegerField( '年龄'、デフォルト= 1)
著者= models.OneToOneField(著)


データの挿入
= Author.objects.create(名=「陳 」)

= Wife.objects.create(NAME = 'chenwife W '、年齢= 20、著者=)#autho Authorオブジェクトに接続され
= Wife.objects.create W(NAME = 'chenwife '、年齢= 20、AUTHOR_ID = a.id )#ライブラリマッピングフィールドAUTHOR_ID接続著者のオブジェクトID:a.id
問い合わせ

w.author.name#w.author著者著者の接続は、オブジェクト
自身の作成妻・テーブル・小文字#django a.wife.nameを

## -に、多くの


作成
:クラスパブ(models.Model)
名= models.CharField( 'プレス名前'、MAX_LENGTH = 50)


クラスシュウ(models.Model):
名前= models.CharField( '书名'、MAX_LENGTH = 50)
日= models.DateTimeField( '出版时间'、auto_now =真)
パブ= models.ForeignKey(パブ)


データを挿入:
P = Pub.objects.create(名= '大学プレス')

S = Shu.objects.create(名= 'Jave'、パブ= P)
S1 = Shu.objects.create(名= 'のpython'、pub_idカラム= p.id)

クエリ:

プレスs.pub.name#クエリブック
p.shu_set.all()#クエリによって公開すべての書籍
p.shu_set.fieter()#条件お問い合わせ


## - 多くの

作成し
たクラスの著者(models.Model):
名前= models.CharField( 'name'を、MAX_LENGTH = 50)


クラスブック(models.Model):
タイトル= models.CharField( '名字'、MAX_LENGTH = 50)
著者= models.ManyToManyField(著)


挿入データ

A1 = Author.objects.create(名= '王')

A2 = Author.objects.create(名前= '趙')

A3 = Author.objects.create(名= '李')

 

メインテーブルから目次を通って挿入a1.book_set.create(タイトル=「のpython」)#


B1 = Book.objects.create(タイトル= 'javaの')
a1.boo_set.add(B1)

お問い合わせ

a1.book_set.filter()
b1.author.filter()

 

 

おすすめ

転載: www.cnblogs.com/chenlulu1122/p/11921580.html