Булевы поля в MySQL Django Models?

Только для подтверждения ответа dominics вот его решение в коде (который на самом деле работает):

tabHost.setOnTabChangedListener(new OnTabChangeListener() {
    public void onTabChanged(String tabId) {
        if (TAB_MAP.equals(tabId)) {
            ImageView iv = (ImageView) tabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.icon);
            iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_map_black));
            iv = (ImageView) tabHost.getTabWidget().getChildAt(1).findViewById(android.R.id.icon);
            iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_list_white));
        } else if (TAB_LIST.equals(tabId)) {
            ImageView iv = (ImageView) tabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.icon);
            iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_map_white));
            iv = (ImageView) tabHost.getTabWidget().getChildAt(1).findViewById(android.R.id.icon);
            iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_list_black));
        }
    }
});

, Конечно, это не полируется вообще, и использующий те прямые индексы в getChildAt () не хорошо вообще...

5
задан Juanjo Conti 22 November 2009 в 15:02
поделиться

2 ответа

>>> u=User.objects.get(pk=1)
>>> u.is_active
1
>>> u.is_active==1
True
>>>

Причины, по которым логические столбцы возвращают 1 или 0, указаны в ссылке в вашем вопросе.

0
ответ дан 14 December 2019 в 01:10
поделиться

Вы можете создать свой собственный метод для вашей модели, который будет оценивать это за вас:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    def is_active(self):
        return bool(self.active_status)

Тогда любые тесты, которые вы выполняете для этого поля, могут вместо этого просто ссылаться на метод:

>>> u.is_active()
True

Вы даже можете сделать это в свойство:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    @property    
    def is_active(self):
        return bool(self.active_status)

, так что пользователям класса даже не нужно знать, что он реализован как метод:

>>> u.is_active
True
7
ответ дан 14 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: