ジャンゴ - 多くの組み込みテーブルのCRUD

多くのテーブル構造

ForeignKeyの - 関連した別のテーブルへの外部キー

クラスブック(models.Model):
    タイトル = models.CharField(MAX_LENGTH = 32 
    パブ = models.ForeignKey(' 出版社'、on_delete = models.CASCADE) 外部キー-関連したテーブルの他のテーブル

 

お問い合わせ

= models.Book.objects.allのall_books() 、すべてのデータを取得する
印刷(all_books)の
 ために予約するall_books:
     印刷(書籍)   #は、データオブジェクトの取得
    を印刷(book.pk)  主キーのデータオブジェクトIDの
    印刷(ブック。タイトル)   #のデータオブジェクトのタイトルフィールドの値
    を印刷(book.pub、タイプ(book.pub))  オブジェクトが外部キーである
    プリント(book.pub_id、タイプ(book.pub_id))  オブジェクトID外部キー

 

新しいです

DEF (Request)をbook_add:
     IF request.method == ' POST '#の決意要求メソッド 
        タイトルrequest.POST.get =(' タイトル'入力フレーム名で'タイトル'属性値取得した値(タイピング)= 
        = request.POST.get pub_idカラム(' pub_idカラム'上記
        models.Book.objects.create(タイトル=タイトル、パブ= models.Publisher.objects.get(= pub_idカラムのPK)) 
        models.Book.objects.create(タイトル=タイトル、pub_idカラム= pub_idカラム)   データベース(データベースフィールドに同期=値取得)
        を返すリダイレクト(/ book_list / リダイレクト、ジャンプページ

 

削除

DEF book_del(要求):
    PK = request.GET.get(' PK '取得URLの値PKに対応する値 
    models.Book.objects.filter(PK = PK).Delete()  比較帳テーブルのPK 、URLの値PK値を取得し、同じ削除
    復帰にリダイレクト(/ book_list / 

 

編集します

DEFのbook_edit(要求):
    PK = request.GET.get(' PK '送信GET要求に対応するpK値取得 
    book_obj models.Book.objects.filter =(PK = PK)を1次回()  は、PKに対応する値を取得します。データオブジェクト
    IF request.method == POST 
        タイトル = request.POST.get(タイトル#1 の値に対応する入力ボックス名=「タイトル」属性値 
        pub_idカラム= request.POST.get(pub_idカラム
        book_obj.title =タイトル   #はブックのテーブルデータオブジェクトの値を変更します
        pub_idカラム= book_obj.pub_id   オプションの値にpub_idカラム値によって取得し、テーブルブック内の値を変更するために、(PUB_ID外部キーPKテーブルデータ発行元に対応した値に相当) 
        book_obj.save()  データを送信
        返す(リダイレクト' / book_list / "

 

おすすめ

転載: www.cnblogs.com/Agoni-7/p/11420937.html