2016-05-04 4 views
0

のbooleanと整数間の切り替えは、私はこのようなジャンゴでいくつかのモデルを持っています。ここでは、フィーチャーから追加するフィーチャーと、そのフィーチャーの使用可能数を選択できます。ジャンゴTabularInline

is_numberは、フィーチャに数値が必要かどうか、またはfalseの場合はブール値(カウントが0または1)を定義します。

整数型ではあるが、整数型ではなくブール型の値を期待しているときにTabularInlineにチェックボックスを表示する方法はありますか?

もう1つの可能性は、object_featuresにブール値フィールドと整数フィールドを定義することです。 is_numberの値に基づいて、それらのうちの1つだけを表示する可能性はありますか? admin.pyで

:あなたのインライン、IN

class ObjectFeatureInline(admin.TabularInline): 
    model = ObjectFeature 
    can_delete = True 
    verbose_name_plural = 'Object features' 

class ObjectAdmin(admin.ModelAdmin): 
    inlines = (ObjectFeatureInline,) 
    ... 

答えて

0

def new_field(self, obj): 
     if type(obj.is_number) is bool: 
      do stuff - as bool 
     else: 
      do other stuff , maybe check if int and so on... 
    new_field.allow_tags = True 
    new_field.short_description = 'is_number verbose' 

は、私はタフな管理パネルで値を変更できるようにしたいインライン

+0

にreadonly_fieldsにnew_fieldを追加します。この解決策は、読み取り専用フィールドを与えるだけです。私は、ユーザーに数字入力フィールドの代わりにチェックボックスを表示できる方法を探していますが、チェックボックスが適切なときだけです。 –