我想为使用CharField(choices=())
的Django字段编写SQL,并且显示值显示在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)
"""
提前致谢!
答案 0 :(得分:1)
您可以使用以下内容:
STUDENT_CHOICES=(
('None', 'None'),
)
另外,避免使用原始SQL。如果你真的需要它 - 总是使用参数化查询
connection.cursor()。execute('sql with%s params',[params])