Chcę usunąć konkretny rekord. Jak na przykład
delete from table_name where id = 1;
Jak mogę to zrobić django model
?
python
django
django-models
użytkownik426795
źródło
źródło
Odpowiedzi:
Istnieje kilka sposobów:
Aby usunąć bezpośrednio:
Aby usunąć go z instancji:
źródło
pre_delete
lubpost_delete
.delete()
aby sprawdzić, co usuwasz. Zwraca krotkę z liczbą usuniętych obiektów i słownik ze szczegółowymi informacjami o usuniętych typach, np(1, {'yourapp.SomeModel': 1})
.spowoduje to wyjątek, jeśli obiekt o określonym kluczu podstawowym nie istnieje, ponieważ najpierw próbuje pobrać określony obiekt.
nie spowoduje to wyjątku, jeśli obiekt o określonym kluczu podstawowym nie istnieje i bezpośrednio wygeneruje zapytanie
źródło
MyModel.object.filter(pk=1).delete()
. Powinny to być „obiekty”.Jeśli chcesz usunąć jeden element
Jeśli chcesz na przykład usunąć wszystkie elementy z listy życzeń
źródło
jeśli chcesz usunąć jedno wystąpienie, napisz kod
jeśli chcesz usunąć wszystkie wystąpienia, napisz kod
źródło
Wolph dostarczył kody skupione na dobrej odpowiedzi. Pozwól, że wkleję tutaj oficjalny dokument w celach informacyjnych.
źródło