2

小さな問題があります:単純なクラス

class AModel(db.Model):
  id = db.Column(....)
  title = db.Column(....)
  uniq_text_id = db.Column(db.String(50), unique=True. nullable=False)

def __init__(self):
  uniq_text_id = uuid4().hex

今、flask-admin パッケージとどの管理者がAModelインスタンスを作成できるかを調整しました。ただし、1 つのケースがあります。フィールドuniq_text_idを自動的に作成する必要があります。

そのため、flask-admin はフィールド uniq_text_id が必要であると言っていますが、事前入力された値も表示しないため、現在モードを作成できません。

nullable=Falseフラスコ管理フォームで事前入力された値を使用する方法、または制約を削除せずにこの問題を回避する方法はありますか?

UPD: @codegeek は、フォームにまだ表示されている自動生成フィールドの優れたソリューションを提供しました。フラスコ管理機能によって提供される私自身のソリューションを使用すると、どの列を表示し、どの列を非表示にするかを明示的に宣言できます。

4

2 に答える 2

0

それは私のせいでした-ドキュメントを簡単に読みすぎてください。フィローイングのようなモデルビューを作成しました:

class MyUserLessonModelView(MyModelView):
    form_excluded_columns = ('uniq_text_id', 'created_by', 'created_date', 'modified_by', 'modified_date')

また、自動生成されたすべてのフィールドがフォームから消えます。

于 2013-06-26T08:03:56.757 に答える