Django in_bulk множественные поля

Могу ли я создать Django in_bulk с несколькими полями в качестве ключа?

Например, у меня есть модель

class Sig(models.Model)
    name = models.CharField(max_length=80)
    version = models.IntegerField()
    description = models.CharField(max_length=80)

    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['name', 'version'], name='AK1')
        ]

Ожидаемый выход

Словарь стиля in_bulk с

{ 
    ('name', 'version') -> Sig object
}

Я использую Django 3.2

Текущее обходное решение

В настоящее время я получаю все объекты и создаю словарь самостоятельно. Но меня беспокоит, что это медленнее, чем использование in_bulk или любой другой встроенной функции.

sig_list = Sig.objects.all()
sig_map = {(obj.name, obj.version):obj for obj in sig_list}

Любой совет будет замечательным, спасибо!

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