0
私はこれを達成する方法について考えるのに苦労しています。私は何をしたいので、同様CharFieldですオブジェクトに(リッカートテーブルを表現するために)一連の質問を持っている。そして、Djangoの動的な詳細な名前
for a in range(1, 11):
locals()['ATL' + str(a)] = models.PositiveIntegerField(
choices=[
[1, 'Disagree Completely'],
[2, 'Disagree Strongly'],
[3, 'Disagree'],
[4, 'Neutral'],
[5, 'Agree'],
[5, 'Agree Strongly'],
[7, 'Agree Completely'],
],
widget=widgets.RadioSelectHorizontal(),
verbose_name = Constants.ATL_qu_list[a-1])
del a
そして私は、再び(質問番号に応じて、質問のための冗長な名前を変更します変数を格納するためにlocals()を使用するはずがないことを知ってください。しかし、ダイナミックラベルを達成する簡単な方法はありますか?ありがとう!
:
したがって、私の代わりに私が欲しいものを達成するために、このメソッドを使用しました。モデルフィールドはデータベース列を表し、動的ではありません。そしてそれらは、ローカル変数ではなく、モデルクラスの属性として定義されます。あなたは何をしようとしているのですか? –
こんにちはダニエル、私は自分の質問に対する答えを見つけたと思う。私がしたかったのは、質問に応じて異なるラベルを持つ異なるCharFieldを動的に宣言することでした。すべてのリッカートの質問票が7ポイントの尺度であることを考えると、すべての機能がほぼ同じであれば、それぞれのCharFieldを別々に宣言するのは難しいコーディングだと思った。だから、私がしたいのは、リチャートチャイルドフィールドを一度宣言してから、それぞれの質問に応じて異なるラベルを適用するだけのシステムを開発することでした。私は以下で詳しく説明します。 – Krabo