Как добавить строку в запрос django - PullRequest
0 голосов
/ 26 августа 2018

Я пишу функцию, которая будет получать значение модели в зависимости от ввода пользователя.

Как соединить запрос и строку

Models.py

Class countries(models.Model)
    name = models.charfield(max_length=200)
    miles = models.charfield(max_length=200)
    kms = models.charfield(max_length=200)

.

From models import countries

Def abc(country):
    If country == "USA":
        A1= miles
    else:
        A1 = kms
    P1 = countries.object.get(name__exact=country). + A1
    return P1

Error

Type error : unsupported operand types for +: 'countries' and str

1 Ответ

0 голосов
/ 26 августа 2018

Метод QuerySet.get() возвращает объект запрашиваемого подкласса Model, который в данном случае равен countries. Вы не можете использовать оператор + для объекта Model со строкой.

Вы должны использовать getattr, чтобы получить атрибут объекта countries:

P1 = getattr(countries.object.get(name__exact=country), A1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...