2012-02-10 15 views
2

ジャンゴ1.3に示すフィールドを除外する:など、私は私のModelFormで除外フィールドを持っていると.as_table()、as_p()メソッドでフォームを構築するとき、それはまだ現れジャンゴModelFormサブクラスまだ

私はテンプレートファイルとシェルの両方で試行した場合、excludeフィールドはexclude変数に表示されますが、影響はないようです。

モデル:

class UserTrans(models.Model): 
    usertransid = models.AutoField(primary_key=True) 
    userid = models.ForeignKey(User, db_column='userid') 
    transdate = models.DateField(verbose_name="Date") 
    data = models.DecimalField(max_digits=15, decimal_places=2) 
    class Meta: 
     db_table = u'usertrans' 


class TransForm(ModelForm): 
    class Meta: 
     model=UserTrans 
     exclude = ('userid',) 

私はシェルを開いてしようとすると:

x=TransForm() 
x.as_table() 

またはテンプレートに

{{ form.as_table }} or 
{{ form.as_p }} 

をそれはの残りの部分と一緒にユーザーIDフィールドを示しますフィールド。 x.excludeを試してみると('userid',)と表示されるので、構文が正しいことが分かります。

どのような考えですか?

+0

データのような別のフィールドを除外しようとしましたか?それは動作しますか? – Jingo

答えて

0

あなたのコードには表示されていないことがかなりあります。しかし、これのためのハックがあります。モデルフォームにを入力し、フォームのfieldsプロパティ(dict)から 'userid'を削除します。

+0

私はそれを理解していませんでしたが、シェルの中でそれぞれの作品を別々に動かしたときに動作します。しかし、一緒に走っても、それはしません。だから、それは私のコードの中にあるはずです。 – szacks

+0

@ user1201972:私が提案したものを試しましたか? – Marcin

+0

いいえ私は今djangoを学んでおり、動作するはずのドキュメントに記述されているものに対しては回避策を使用したくありません。この時点で私は自分のコードのどこにバグがあるのか​​を理解することを好みます。 – szacks