Как сделать SELECT/DELETE WHERE column IN list в Django
Допустим, у меня есть модель следующего вида:
class Tmp(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
Затем у нас есть список идентификаторов, допустим (1, 4, 5, 9, 10) и допустим, я хочу запустить:
SELECT * FROM tmp WHERE id IN (1, 4, 5, 9, 10)
или я хочу удалить этих пользователей:
DELETE FROM tmp WHERE id IN (1, 4, 5, 9, 10)
Как этого добиться в Django? Я думаю, что если я хочу сделать это только для первичных ключей, я могу использовать фильтр и добиться чего-то вроде этого для select:
Tmp.objects.filter(pk__in=(1, 4, 5, 9, 10)).get()
или вот так для удаления:
Tmp.objects.filter(pk__in=(1, 4, 5, 9, 10)).delete()
Однако, что если я не хочу использовать первичный ключ? Как я могу добиться того же эффекта?
Например, что если я хочу удалить или выбрать по name?