django 中優雅的使用 choice 字段

問題

django中如何比較優雅的對元組進行標記分類。可使用choice字段

choice字段

# models.py
class BookTagNum(object):
    OTHER = 1
    SCIENCE = 2
    SOCIAL_SCIENCES = 3
    ECONOMIC = 4
    COMPUTER = 5

class BOOK(models.Model):
    TAG_NUM_CHOICE = (
        (BookTagNum.OTHER, '其它'),
        (BookTagNum.SCIENCE, '科學類'),
        (BookTagNum.SOCIAL_SCIENCES, '社科類'),
        (BookTagNum.ECONOMIC, '經濟類'),
        (BookTagNum.COMPUTER, '計算機類'),
    )
    tag = models.IntegerField(choices=TAG_NUM_CHOICE)

在代碼中儘量不要出現固定的硬編碼,比如某個判斷條件,判斷書的分類爲:

# view.py
def get(self, request):
	book = Book.obejects.filter(tag = BookTagNum.COMPUTER)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章