djangoは開発中に外鍵制約の実現をキャンセルします。
余計なことを言わないで、コードを見てください。
チェック:
時計の関係の中でrelated_name='反検索name'は、自分で設定しないと、djangoもデフォルトでクラスの小文字の名前+_に設定されます。set,ex:book_セット.
ペアの関係には値があります。
一対一のように、'多'だけの方が複数の'一'に対応できます。ps:「一」は逆検査によって、一つ以上のデータがあります。+all()で取得できます。
二つの表を仮定すると、Book書+Replyコメント表です。マルチペアのために、Replyは「多」です。一「Book」は、Book.object.get(id=1)です。reply_set.all()〓〓〓reply〓uセットはrelatedをセットしないです。nameの時、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は開発中に外部キーの制約をキャンセルすることを実現しました。つまり、小編集は皆さんに全部の内容を共有しました。