Вызовите отображаемое значение для выбора с SQL - PullRequest
0 голосов
/ 03 марта 2012

Я хочу написать SQL для поля Django, которое использует CharField(choices=()) и отображает значение отображения в SQL, а не значение вызова.есть идеи как это сделать?Это похоже на get_FOO_display () .

Для справки, вот моя модель:

class Person(models.Model):
    STUDENT_CHOICES=(
        (0,'None'),
        (1,'UA Current LDP'),
        (2,'UA LDP Alumni'),
        (3,'MSU Current LDP'),
        (4,'MSU LDP Alumni')
    )
    ...
    studentStatus=models.IntegerField(choices=STUDENT_CHOICES, verbose_name="Student Status", null=True, blank=True)

И мой запрос:

def mailingListQuery(request):
...
if request.POST:
    ...
    sql = """
        ...
        per."studentStatus" # Here's where I want to access the display value
        left outer join person as per on (per.party_id = p.id)
    """

Спасибозаранее!

1 Ответ

1 голос
/ 03 марта 2012

Вы можете использовать что-то вроде:

STUDENT_CHOICES=(
    ('None', 'None'),
)

Кроме того, избегайте использования необработанного SQL. Если вам это действительно нужно - всегда используйте параметризованные запросы

connection.cursor (). Execute ('sql с% s params', [params])

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