Python

Page 277

mysql> select * from mypage_page; +--------+-----------+-------------------+ | pageid | page_name | page_content | +--------+-----------+-------------------+ | 1 | test page | test page content | +--------+-----------+-------------------+ 1 row in set (0.00 sec)

잘 들어가 있는것이 확인된다. 만약 p1.save()라는 메써드를 한번 더 실행하면 어떻게 될까? 예상대로 데이터 중복에러가 날까? 궁금하다. 아래와 같이 p1.save()를 다시 실행해 보자.

>>> p1.save()

다시 실행해 보았더니 아무런 반응이 없다. 데이터베이스도 확인해 보니 아무런 값도 입력이 되지 않았다. 왜 그런지에 대해서는 장고북에 나오지 않는것 같다. 한번 save라는 메써드가 호출이 되면 두번 세번호출되더라도 무시되는 걸까? 일단 궁금증은 뒤로한채 새로운 모델을 만들어서 다시 save()를 호출해 보도록 하자. p1객체와 동일한 내용을 가지고 있는 p2객체를 만들고 save해 보았다. 예상대로라면 중복키 에러가 발생해야 하지만 장고는 또다시 "침묵"한다.

>>> p2 = Page(pageid=1, page_name='test page', page_content='test page content') >>> p2.save()

데이터베이스를 확인해 보아도 역시 아무런 값도 입력이 되지 않았다. 키 값을 달리하여 p3를 만들고 다시 save해 보자.

>>> p3 = Page(pageid=2, page_name='test page', page_content='test page content') >>> p3.save()

wikidocs.net PDF, page : 277


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.