Как получить идентификаторы объектов из модели django?

Как получить идентификаторы объектов из модели.

qs = Society.objects.all()
cityID = City.objects.get(pk=1)

Вышеприведенный запрос вернет только один объект, id которого 1. но мне нужны все города id, чтобы я мог получить доступ к названиям городов из id, как показано в следующем коде.

for s in qs:
...     s_name = qs.filter(name__iendswith=cityID.name)
...     break

вы можете попробовать что-то вроде этого

qs = Society.objects.all()
citys = City.objects.all().values_list('name', flat=True)
qs = qs.filter(name__endswith=list(citys))

Попробуйте это

qs = Society.objects.all()
citys = City.objects.values_list('name', flat=True)
data = []
for name in citys:
    response = qs.filter(name__iendswith=name)
    if response.exists():
        data.append(response)
print(data)

Или вы можете сделать что-то вроде этого (я рекомендую это)

import operator
from django.db.models import Q
from functools import reduce

qs = Society.objects.all()
citys = City.objects.values_list('name', flat=True)
clauses = (Q(name__iendswith=name) for name in citys)
query = reduce(operator.or_, clauses)
data = qs.filter(query)
Вернуться на верх