0

register() は 3 つの位置引数のみを取ります ("self" は暗黙的に渡されます。すでに ModelAdmin クラスを使用して Django Admin でモデルの外観をカスタマイズしている場合、私の登録は次のようになります。

admin.site.register(AttorneyGroup, AttorneyGroupAdmin)

SimpleHistoryAdmin を登録する場合は、次のように 4 番目の位置引数を追加します。

admin.site.register(AttorneyGroup, AttorneyGroupAdmin, SimpleHistoryAdmin)

これにより、次の例外が発生します。

TypeError: register() takes from 2 to 3 positional arguments but 4 were given

ModelAdminでモデルをカスタマイズしている場合、simple-historyは登録できないようです。この問題を回避する単純な履歴を実装する別の方法はありますか?

4

2 に答える 2

3

次のようにします。

class AttorneyGroupAdmin(SimpleHistoryAdmin):
      #custom admin

admin.site.register(AttorneyGroup, AttorneyGroupAdmin)

これにより、Simple History Admin をカスタマイズしながら使用することができます。

于 2016-07-19T15:24:25.067 に答える
0

必要に応じて、これらすべてを個別のレジスタ関数に入れることができます。

admin.site.register(AttorneyGroup)
admin.site.register(AttorneyGroupAdmin)
admin.site.register(SimpleHistoryAdmin)

編集:

あなたのコメントは正しいです。私の元のコードは、すべてのモデルを 1 行で実行する必要がないことを示すことでした。もっと正確に言うべきだった。代わりにこれを行うことができます:

from .models import AttorneyGroup, SimpleHistory

admin.site.register(AttorneyGroup, AttorneyGroupAdmin)
admin.site.register(SimpleHistory, SimpleHistoryAdmin)
于 2016-07-19T14:46:38.720 に答える