Как получить набор запросов этого внешнего ключа из идентификатора вместо уникального_идентификатора? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть функция, в которой я передаю список unique_ids, и в этой функции я получаю набор запросов users_unique_ids следующим образом:

def my_function(unique_ids):
    user_unique_ids = models.ThroughTableModel.objects.filter(users_id__in=unique_ids)
    # do something

Вот мой ThroughTableModel:

class ThroughTableModel(models.Model):
    users = models.ForeignKey(User, to_field='unique_id')
    # other fields

Теперь я хочу использовать id вместо unique_id для этого внешнего ключа, но my_function все равно получит unique_ids в качестве аргументов. Как я могу изменить свой фильтр, чтобы получить user_ids вместо user_unique_ids? Я подумал, что сначала нужно получить список идентификаторов, а затем передать его в фильтр следующим образом:

def my_function(unique_ids):
    list_ids = models.User.objects.filter(unique_id__in=unique_ids).values_list('id')
    user_ids = models.ThroughTableModel.objects.filter(users_id__in=list_ids)
    # do something

Есть ли лучший способ добиться этого без создания list_ids и непосредственного использования unique_ids в фильтре?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...