Это Python3 bytes
literal . Этот префикс отсутствует в Python 2.5 и старше (он эквивалентен простой строке 2.x, а простая строка 3.x эквивалентна литералу с префиксом u
в 2.x). В Python 2.6+ он эквивалентен простой строке, для совместимости с 3.x .
Вы можете получить список местоположений без Box
с:
Location.objects.filter(box__isnull=True)
или даже проще:
Location.objects.filter(box=None)
Мы можем получить QuerySet
с таким [119 ] s для данной комнаты some_room
с:
Location.objects.filter(box=None, loc_room=some_room)
Это приведет к запросу, который выглядит следующим образом:
SELECT location.*
FROM location
LEFT OUTER JOIN box ON location.id = box.Location_id
WHERE box.id IS NULL
AND location.loc_room = some_room
мы также можем посчитать количество Location
с с помощью:
Location.objects.filter(box=None, loc_room=some_room).count()
Если вы хотите получить для комнаты количество пустых мест, мы можем комментировать их, например:
Location.objects.values(
'loc_room'
).filter(
box__isnull=True
).annotate(
nempty=Count('id')
).order_by('loc_room')
Затем мы можем напечатать эти как:
{% for each_space in Room_data %}
<p>"Room": "Room {{ each_space.loc_room }}",</p>
<p>"Empty Spaces": {{ each_space.nempty }},</p>
{% endfor %}