Tôi cần phải chọn một số đối tượng sẽ bị xóa khỏi cơ sở dữ liệu của tôi trong django bằng cách sử dụng trang web. Không có danh mục nào để chọn nên tôi không thể xóa khỏi tất cả các danh mục như vậy. Tôi có phải thực hiện hình thức xóa của riêng tôi và xử lý nó trong django hay không django có một cách để đã làm điều này? Như được thực hiện trong giao diện quản trị.Xóa nhiều đối tượng trong django
56
A
Trả lời
101
Bạn có thể xóa bất kỳ QuerySet nào bạn muốn. Ví dụ, để xóa tất cả các bài đăng trên blog với một số mô hình bài
Post.objects.all().delete()
và xóa bất kỳ bài viết với một ngày công bố tương lai
Post.objects.filter(pub_date__gt=datetime.now()).delete()
Bạn làm gì, tuy nhiên, cần phải tìm ra một cách để thu hẹp xuống QuerySet của bạn. Nếu bạn chỉ muốn xem một đối tượng cụ thể, hãy nhìn vào delete generic view.
EDIT:
Xin lỗi vì sự hiểu lầm. Tôi nghĩ câu trả lời là ở đâu đó giữa. Để triển khai riêng của bạn, hãy kết hợp ModelForm
s và generic views. Nếu không, hãy xem xét các ứng dụng của bên thứ ba cung cấp chức năng tương tự. Trong một số related question, đề xuất là django-filter.
Các vấn đề liên quan
- 1. Xóa các đối tượng trong Django
- 2. Django xóa đối tượng nước ngoài?
- 3. Django - xóa đối tượng trùng lặp trong đó có nhiều trường để so sánh
- 4. Xóa nhiều đối tượng bằng rm()
- 5. Cách nhanh nhất để xóa nhiều đối tượng trong Hibernate
- 6. Django: sáp nhập đối tượng
- 7. Django: Truy cập nhiều đối tượng Nhiều thông qua mối quan hệ Nhiều đến Nhiều
- 8. Django - xóa Cascade trong ManyToManyRelation
- 9. Xóa đối tượng khỏi danh sách đối tượng trong python
- 10. Xóa đối tượng giống hệt trong Ruby?
- 11. Đối tượng xóa CoreData
- 12. DRY đối tượng duy nhất trong Django
- 13. Làm thế nào để trả lại nhiều đối tượng liên quan với ForeignKey trong Django
- 14. Nhiều đối tượng để quan hệ đối tượng trong C#
- 15. quyền đối tượng cấp django
- 16. django serialize đối tượng chính nước ngoài
- 17. Xóa đối tượng cuối cùng trong NSMutablearray
- 18. Xóa đối tượng trong Dữ liệu chính
- 19. Xóa một đối tượng trong C++
- 20. mảng nhiều đối tượng
- 21. Quyền đối tượng cấp khung đối tượng Django REST
- 22. Serialize nhiều đối tượng
- 23. Xóa một đối tượng đơn lẻ khỏi đối tượng Javascript
- 24. Đối tượng lưu trữ cho các đối tượng trong Django giữa các yêu cầu
- 25. Tránh nhiều tham chiếu đến cùng một đối tượng trong Django ORM
- 26. Nhiều đối tượng EditText trong AlertDialog
- 27. Nhiều đối tượng trong danh sách, C#
- 28. iterating qua các đối tượng có liên quan trong django
- 29. Xóa đối tượng liên quan qua OneToOneField
- 30. Phiên ASP.NET - đối tượng lớn và nhiều đối tượng nhỏ
Không có bạn đã hiểu nhầm câu hỏi. Tôi hiểu tôi có thể xóa mọi thứ. Nhưng tôi cần phải chọn các đối tượng cần xóa bằng biểu mẫu trên trang web. Và sau đó xử lý dữ liệu được trả lại từ biểu mẫu trong views.py của tôi. Sau đó lặp lại những gì được trả về trong biểu mẫu xóa như vòng lặp của nó thông qua dữ liệu. Nhưng tôi muốn biết thực hành tốt nhất để thực hiện điều này trong django là gì. – Dean
Ah, sai lầm của tôi! Tôi sẽ sử dụng ứng dụng của bên thứ ba hoặc chế độ xem chung với 'ModelForm's. –
@Dean, hãy xem chế độ xem xóa đó. Hoặc bạn chỉ có thể viết xem của riêng bạn ... Tôi có nghĩa là cuối cùng bạn có thể nhận được một danh sách các PK và gọi xóa trên mô hình của bạn ... 'MyModel.objects.filter (id__in = request.POST.getlist ('delete_list')) .delete() 'và tôi chắc chắn bạn muốn một cái gì đó để đảm bảo một người ngẫu nhiên không thể xóa tất cả các đối tượng trong DB của bạn bằng cách đoán PK. –