25

django adminでインラインフォームセットをどのように制限しますか?

問題:

Bと1対nの関係にあるテーブルAがあります。テーブルAには、少なくとも1つのテーブルBアイテムと、最大5つのテーブルBアイテムが必要です。

4

2 に答える 2

47

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options

数を制限するには、定義で指定max_numします。Inline

extra表示する空白インラインの数を指定します。

1 インラインは必要ですか? テーブル B に少なくとも 1 行が入力されていない場合に検証エラーをトリガーしたいですか?

于 2011-03-30T02:11:44.527 に答える
0

インラインでの追加ボタンの有効化/無効化は、_has_add_permissionメソッドを通じて管理されます

インラインクラスに追加できます:

def _has_add_permission(self, request, obj=None):
   # add/remove possibility to add a line to an inline
    if obj.table_b_items.count() < 5:
        return True
    else:
        return False
于 2021-03-08T13:06:22.700 に答える