django adminでインラインフォームセットをどのように制限しますか?
問題:
Bと1対nの関係にあるテーブルAがあります。テーブルAには、少なくとも1つのテーブルBアイテムと、最大5つのテーブルBアイテムが必要です。
django adminでインラインフォームセットをどのように制限しますか?
問題:
Bと1対nの関係にあるテーブルAがあります。テーブルAには、少なくとも1つのテーブルBアイテムと、最大5つのテーブルBアイテムが必要です。
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options
数を制限するには、定義で指定max_num
します。Inline
extra
表示する空白インラインの数を指定します。
1 インラインは必要ですか? テーブル B に少なくとも 1 行が入力されていない場合に検証エラーをトリガーしたいですか?
インラインでの追加ボタンの有効化/無効化は、_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