Добавление имени несуществующего поля в запрос django
Я пытаюсь добавить дополнительное имя поля на основе его поддоменов, но у меня не получается, вот мой views.py
def daily_vistors_detail_html(request):
address = request.build_absolute_uri('/')
host_name = address.partition('://')[2]
sub_addr = host_name.partition('.')[0]
hotel_name = 'hotel 1'
if sub_addr == 'hotel 2':
hotel_name = 'hotel 2'
lists = MyModel.objects.annotate(hotel_name=hotel_name).order_by('-pk')
context = {
'lists':lists
}
но возвращается
QuerySet.annotate() получил невыражение(я): отель 1. есть ли способ добиться этого, пожалуйста?
спасибо
Я думаю, что то, что вы ищете, это аннотация значения.
# Import Value:
from django.db.models import Value
def daily_vistors_detail_html(request):
address = request.build_absolute_uri('/')
host_name = address.partition('://')[2]
sub_addr = host_name.partition('.')[0]
hotel_name = 'hotel 1'
if sub_addr == 'hotel 2':
hotel_name = 'hotel 2'
# Annotate content of hotel_name as Value:
lists = MyModel.objects.annotate(hotel_name=Value(hotel_name)).order_by('-pk')
context = {
'lists':lists
}
Вы можете найти документацию здесь: Django Docs