2013-08-07 3 views
0

Я знаю, что я могу получить атрибуты ForeignKey и ManyToManyField по Blog.objects.values ​​('name', 'entry_ headline'), есть ли способ получить значение выбора таким же образом? Я имею в виду Blog.objects.values ​​('name', 'choice _values'), а не используя get_FOO_display().Как получить значение выбора в наборе запросов?

+0

ли вы пытаетесь создать метод модели? –

+0

Нет, я думал, что может быть встроенный способ – neelix

+0

Я сам обдумывал то же самое. Честно говоря, я не знаю, почему это невозможно сделать 'foo__bar'. –

ответ

1

models.py

class MyModel(models.Model) 
    ALL = "ALL" 
    NONE = "NONE" 
    HALF = "HALF" 
    SELECT_CHOICES = (
     (ALL, "100%"), 
     (HALF, "50%"), 
     (NONE, "0%"), 
    ) 
    select_field = models.CharField(max_length = 255, choices = SELECT_CHOICES) 

    @property 
    def select_ratio(self): 
     return self.get_select_field_display() 

Anywhere:

mymodels = MyModel.objects.all() 
for entry in mymodels: 
    print entry.select_ratio 
+0

Это действительно хороший подход, но не то, что я просил. В любом случае, спасибо большое. – neelix

Смежные вопросы