Programing

Django 모델에서 레코드를 삭제하는 방법은 무엇입니까?

lottogame 2020. 4. 24. 08:02
반응형

Django 모델에서 레코드를 삭제하는 방법은 무엇입니까?


특정 레코드를 삭제하고 싶습니다. 와 같은

delete from table_name where id = 1;

에서 어떻게 할 수 django model있습니까?


몇 가지 방법이 있습니다.

직접 삭제하려면 :

SomeModel.objects.filter(id=id).delete()

인스턴스에서 삭제하려면 :

instance = SomeModel.objects.get(id=id)
instance.delete()

MyModel.objects.get(pk=1).delete()

지정된 기본 키를 가진 객체가 없으면 지정된 객체를 검색하려고 시도하기 때문에 예외가 발생합니다.

MyModel.objects.filter(pk=1).delete()

지정된 기본 키를 가진 객체가 존재하지 않고 직접 쿼리를 생성하는 경우 예외가 발생하지 않습니다.

DELETE FROM my_models where id=1

Wolph는 좋은 답변 중심의 코드를 제공했습니다. 사람들의 참고를 위해 공식 문서를 여기에 붙여 드리겠습니다 .


하나의 항목을 삭제하려는 경우

wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()

예를 들어 위시리스트의 모든 항목을 삭제하려면

Wishlist.objects.all().delete()

참고 URL : https://stackoverflow.com/questions/3805958/how-to-delete-a-record-in-django-models

반응형