アプリのモデルを定義していますが、さまざまな検証手順のために「ステータス」という名前の列が必要です。これは単純化されたユーザー モデルです。
クラス ユーザー
id(整数)
名前(文字列)
status(int) # 0- 新規 1-アクティブ 2-非アクティブ 3-報告済み 4-削除済み
私は仲間の Python 開発者に私のコードをレビューするように依頼しました。彼は私が「マジックナンバー」を避けるように提案しました。彼の解決策は次のとおりです。
クラスの選択肢:
@クラスメソッド
def get_value (cls、キー):
# 表示する必要がある場合は、文字列表示を取得します
for k, v in cls.CHOICES:
k == キーの場合:
v を返す
戻る ""
クラス UserStatusChoices(Choices):
新規 = 0
アクティブ = 1
非アクティブ = 2
報告済み = 3
削除済み = 4
選択肢 = (
(NEW, "NEW"),
(アクティブ、「アクティブ」)、
(非アクティブ、「非アクティブ」)、
(報告、「報告」)、
(削除済み、「削除済み」)、
)
代わりに簡単な辞書を使用できませんか? 「クラス」のソリューションの正当な理由がわかる人はいますか?