Saya ingin menghapus catatan tertentu. Seperti
delete from table_name where id = 1;
Bagaimana saya bisa melakukan ini dalam django model
?
Saya ingin menghapus catatan tertentu. Seperti
delete from table_name where id = 1;
Bagaimana saya bisa melakukan ini dalam django model
?
Jawaban:
Ada beberapa cara:
Untuk menghapusnya secara langsung:
SomeModel.objects.filter(id=id).delete()
Untuk menghapusnya dari instance:
instance = SomeModel.objects.get(id=id)
instance.delete()
pre_delete
atau post_delete
sinyal.
delete()
untuk memeriksa apa yang Anda hapus. Ini mengembalikan tuple dengan jumlah objek yang dihapus dan kamus dengan detail tentang jenis yang dihapus, misalnya (1, {'yourapp.SomeModel': 1})
.
MyModel.objects.get(pk=1).delete()
ini akan memunculkan pengecualian jika objek dengan kunci utama yang ditentukan tidak ada karena pada awalnya ia mencoba untuk mengambil objek yang ditentukan.
MyModel.objects.filter(pk=1).delete()
ini tidak akan menimbulkan pengecualian jika objek dengan kunci utama yang ditentukan tidak ada dan secara langsung menghasilkan kueri
DELETE FROM my_models where id=1
MyModel.object.filter(pk=1).delete()
. Seharusnya "benda".
jika Anda ingin menghapus satu contoh maka tulis kodenya
delet= Account.objects.get(id= 5)
delet.delete()
jika Anda ingin menghapus semua instance maka tulis kodenya
delet= Account.objects.all()
delete.delete()
Jika Anda ingin menghapus satu item
wishlist = Wishlist.objects.get(id = 20)
wishlist.delete()
Jika Anda ingin menghapus semua item di Wishlist misalnya
Wishlist.objects.all().delete()