Как сделать 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?

Вернуться на верх