2009-05-10 27 views
0

プラットフォーム:1.0、Googleのアプリケーションエンジン、アプリ・エンジン・パッチ、パイソン2.5.4選択肢プロパティ

をDjangoの私は選択肢を使用するトリング午前私は常にDjangoのウェブサイト

に使用されているよう属性今
STATUS_CHOICES = ((1, _('Yet To Start')), (2, _('Running')), (3, _('Paused')), (4, _('Completed')), (5, _('Cancelled')), (6, _('Error')),) 

class Campaign(db.Model): 
    name = db.TextProperty() 
    status = db.IntegerProperty(choices=STATUS_CHOICES,default=2) 

私が働いているこれを見ていけないアプリ-エンジンに移動してきたように...

私は

BadValueErrを取得していますまたは

プロパティのステータスは3です。 ((1、u'Yet To Start ')、(2、 u'Running')、(3、u'Paused ')、(4, u'Completed')、 'Canceled')、(6、 、u'Error '))

どのようにこの問題が起こるのですか?

答えて

1

This is a documented problem解決されません。簡単に言えば、GAEを使用するときはこれを行うことはできません。私は非常に残念ですが、私は無効としてこれを閉じる必要があり

グイドは、上記のチケットを閉じるとき、次言います。

db.PropertyクラスのchoicesパラメータのApp Engine定義は、Djangoの定義と異なる です。私はあなたが モデルからフォームを作成しようとしているとき、これは問題を引き起こすかもしれないことを実現、しかし、解決策はに対して所望の選択肢のリストを渡してカスタムウィジェットと を使用してフォームフィールドを上書きすることである http://code.google.com/appengine/docs/datastore/propertyclass.html#Property

を参照してください。ウィジェット。 (この例は、クラスSettingFormは、コードレビュー/ views.pyに、 リートフェルトにあります。)

0

パオロが言うように、これは選択肢パラメータはApp Engineのモデルにどのように動作するかではありません。しかし、あなたが望むように動作する独自のカスタムプロパティを書くことは完全に可能です。似たような料理の本の例を次に示します:EnumProperty

関連する問題