Tôi có một mô hình do lỗi mã, có các hàng trùng lặp. Bây giờ tôi cần xóa bất kỳ bản sao nào khỏi cơ sở dữ liệu.Xóa hàng trùng lặp trong Django DB
Mọi hàng phải có photo_id duy nhất. Có cách nào đơn giản để xóa chúng? Hoặc tôi có cần phải làm điều gì đó như thế này:
rows = MyModel.objects.all()
for row in rows:
try:
MyModel.objects.get(photo_id=row.photo_id)
except:
row.delete()
Sẽ tốt hơn, trong tương lai, để xác định trường đó là duy nhất trong giản đồ cơ sở dữ liệu của bạn. Sau đó, bạn loại bỏ vấn đề này từ bao giờ xảy ra. Trong thực tế, bạn nên thêm các chi tiết đó vào tất cả lược đồ cơ sở dữ liệu của bạn. – Keith