ManyToMany 관계를 맺은 객체는 객체변수 중 외부객체와 관련 없는 객체변수들만으로 먼저 저장을 한다. 그리고 난 후 add, remove 함수를 사용하여 외부 객체와의 관계를 정의한 후, 다시 한 번 저장해야 한다. 아래는 예제 코드이다.
def register(request)
equip = Equipment()
equip.model_no = request.POST.get(‘model_no’, ”)
equip.serial_no = request.POST.get(‘serial_no’, ”)
equip.registered_date = datetime.now()
equip.save()
equip.alpha_code.add(Code.objects.get(id=int(request.POST.get(‘alpha_code’))))
equip.bravo_code.add(Code.objects.get(id=int(request.POST.get(‘bravo_code’))))
equip.charlie_code.add(Code.objects.get(id=int(request.POST.get(‘charlie_code’))))
equip.save()
return HttpResponseRedirect(reverse(‘somewhere:defcon’, args=(equip.id,)))
|
cs |
참고로, ForeignKey나 OneToOne은 아래와 같이 처리하면 된다.
cup = Cup()
cup.name = ‘Starbucks Tumbler #21’
cup.store = Store.objects.get(name=’STARBUCKS’)
food.save()
|
cs |
참고. 실행환경
– OS : Windows 7 Professional K
– Python : v 2.7.5
– Django : v 1.7.11