我在模型中有以下选择字段。
STATUS_REVIEW_RISK_ESTIMATE_CHOICES = (
(0, "High"),
(1, "Medium"),
(2, "Low"),
)
class SiverifyProblemStatement(models.Model):
risk_estimate = models.PositiveIntegerField(null=True, blank=True, choices=STATUS_REVIEW_RISK_ESTIMATE_CHOICES)
当我尝试从db渲染值时(最终存储为整数(0,1,2)。我使用以下代码帮助我显示选项的名称(高,中,低) )。
渲染代码:
def render_risk_estimate(self, **kwargs):
try:
stmt = kwargs['row_obj'].revision_problem_statements.latest('id')
except ObjectDoesNotExist:
return None
return (stmt and stmt.get_risk_estimate_display() or None)
但是当我尝试使用选择名称搜索字段时,我得到一个错误,说明get_risk_estimate_display()不是属性。但是,当我尝试这个时,我能够用整数选择搜索该字段。
尝试过的代码:
class ReviewWorklistDTView(GroupDTListView):
columns = [{'data': 'risk_estimate','_get': 'id', 'title':'Risk Estimation', '_search':'revision_problem_statements__risk_estimate', '_type': 'char'},]
这有助于我使用整数选择进行搜索,而不是根据其中的值进行搜索。我确实抬头看了下面的问题,但似乎没有任何帮助我。
http://stackoverflow.com/questions/22043054/search-field-by-field-choice
http://stackoverflow.com/questions/12626171/django-admin-choice-field
https://github.com/sivaa/django-custom-search-filter/blob/master/app/admin.py