djangoは開発中に外鍵制約の実現をキャンセルします。


余計なことを言わないで、コードを見てください。

#  setting    
'OPTIONS': {
   "init_command": "SET foreign_key_checks = 0;",
  }
追加の知識:django-外接キーの関係に値を伝え、外接キーの関係を削除します。
チェック:
時計の関係の中でrelated_name='反検索name'は、自分で設定しないと、djangoもデフォルトでクラスの小文字の名前+_に設定されます。set,ex:book_セット.
ペアの関係には値があります。

class ModelStudy(View):
 ''' ClassRoom ClassNumber      ,      '''
 def get(self, request):
  '''        ClassRoom     ClassNumber      django   (room_number)     (room_number_id) '''
     #  .1         
  # room_number = ClassNumber.objects.filter(class_number__exact='003')[0] # d List  
  # c = ClassRoom()
  # c.room_number = room_number
  # c.save()
  # 1.2              
  room_number = ClassNumber.objects.filter(class_number__exact='003')[0]
  print room_number
  ClassRoom.objects.create(name="python  ", room_number=room_number) #     

     #  :      (          room_number_id)  ,                
     class_number = ClassNumber.object.get("id=1").room_number #           ‘001'
     c = ClassRoom.object.filter(id=1)[0]
     c.room_number_id = class_number #  ‘001'                django   (room_number)     (room_number_id)
     c.save()
return HttpResponse("ojbk")
マルチペア:
一対一のように、'多'だけの方が複数の'一'に対応できます。ps:「一」は逆検査によって、一つ以上のデータがあります。+all()で取得できます。
二つの表を仮定すると、Book書+Replyコメント表です。マルチペアのために、Replyは「多」です。一「Book」は、Book.object.get(id=1)です。reply_set.all()〓〓〓reply〓uセットはrelatedをセットしないです。nameの時、djangoは自分で設定しました。
マルチペア:

class ModelStudy(View):
 ''' Students Teachers       '''
 def get(self, request):
  '''      '''
  #   (     )      
  # t = Teachers.objects.get(id=1)
  # s = Students.objects.get(name="  3")
  # s.teacher.add(t) #      add  
  # s.save()

  #        ,     ,   save()
  t = Teachers.objects.get(id=1)
  s = Students(name='xiaodong1', age=10, gender=" ")
  s.save() #       
  s.teacher.add(t) #                   add(t, t1, t2)       
  s.save()
  return HttpResponse("ojbk")
関係データを削除
まず対応する関係データを検出し、削除しています。

class ModelStudy(View):
 ''' Students Teachers       '''
 def get(self, request):
  '''      '''
  s = Students.objects.get(id=1)
  t = s.teacher.all() #     s.teacher   <QuerySet>list           all(),get(),filter   
  for x in t: #          haha...
   s.teacher.remove(x)
  return HttpResponse("ojbk")
以上のdjangoは開発中に外部キーの制約をキャンセルすることを実現しました。つまり、小編集は皆さんに全部の内容を共有しました。