2016-11-23 10 views
0

私は、(10-20)トンのモデルを持ち、その一部はTextareaフィールドです。ModelFormのすべてのTextfieldのTextareaサイズを設定します。

すべてのtextareフィールドは、特定のサイズ(デフォルトとは異なる)を持つ必要があります。私はMetaクラスのウィジェット辞書を使用してそれらをすべて設定できますが、それを1つずつ設定する必要があります。

これを解決する方法はありますか?

更新: それはデータベースの正規化を使用するようにコメントで示唆されたので、私は少し私の場合を肉付けするつもりです: 私は、ユーザーの多くに取っての主な目的を持っているモデルオブジェクトを持っていますデータ(すなわち、「アプリケーション」)。 1つのフィールドとしてすべての質問をユーザーに書くだけの利点は、簡単にモデルフォームを作成して管理者のデータを表示し編集することができることです(これは私のCRMユーザーにも良いことです)。

フォームのフィールドごとに二次元のようなモデルを作成することができましたが、実際にモデルフォームを作成するために実際にどのように使用するかはわかりません。

+0

データベースの正規化 – e4c5

+0

のためにGoogleに10のようなもので、「私は、テキストエリアのフィールドであるそのうちのいくつかの分野、のトンとモデルが持っています」 20 :) – Julian

+0

はい、それは十分に悪いです – e4c5

答えて

0

あなたのデータに基づいて、私はこのアプローチを提供することができます:

from django import forms 

textarea_fields = ['field1', 'field2'] 
form = YourForm() 

for field_name in [f for f in form.fields.keys() if f in textarea_fields]: 
    form.fields[field_name].widget = forms.Textarea() 
関連する問題