Как я могу быстро удалить записи, которые не должны существовать в базе данных?

Импортирует записи из старой базы данных. Я загружаю определенный объект по имени, и это объекты, взятые из старой базы данных.

Теперь я проверяю, существует ли такой объект в новой базе данных.

В старой базе, например, 20 таких объектов, а в новой - 25. Как я могу автоматически удалить эти 5 объектов из новой базы? Я пробовал кое-что сделать, используя, например,

obj = Model.objects.all()
kr = Model.objects.filter(name=name).first()

obj_list = []
for op in obj:
    if op in obj_list:
        continue
    else:
        obj_list.append(op)

spec_list = []
    for item in obj_list:
        if kr == item:
            continue
        else:
            spec_list.append(item)

Если у вас есть объект, просто удалите его с помощью:

item.delete()

Если вы можете сравнивать объекты один с другим, это должно быть так же просто.

old_objects   # list with objects from old db
new_objects = Model.objects.all()

for my_object in new_objects:
    if my_object not in old_objects:
        my_object.delete()
Вернуться на верх