2016-07-19 6 views
0

レジスタは()のみ、暗黙的に渡される(「自己」を3つの位置の引数を取り、すでにDjangoの管理者で、モデルの外観をカスタマイズするModelAdminのクラスを使用している場合は、私の登録は次のようになります。ModelAdminのカスタマイズを既に使用している場合、シンプルヒストリを登録できませんか? 。</p> <pre><code>admin.site.register(AttorneyGroup, AttorneyGroupAdmin) </code></pre> <p>Iの場合:

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

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

これは、次の例外が発生します。私はそうのように、第四の位置引数を追加されるだろう、SimpleHistoryAdminを登録したいです

ModelAdminを使用してモデルをカスタマイズしている場合、単純履歴は登録できないようです。この問題を回避する簡単な歴史を実装する別の方法がありますか?あなたが望んだ場合は、別のレジスタ機能では、これらのすべてを置くことができ

答えて

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) 
+0

レジスタ(たい、しかし、あなたは、単純な歴史の管理を使用することができます)関数は3つの位置引数を受け取ります 'def register(self、model_or_iterable、a​​dmin_class = None、** options): 私が理解するように、AttorneyGroupAdminからAttorneyGroupを分離すると、私はModelAdminクラスを指定していないかのようにAttorneyGroupを扱います。だから、私はAttorneyGroupAdminが行うカスタマイズを適用することができません。 –

1

はこのようにそれを実行します。

class AttorneyGroupAdmin(SimpleHistoryAdmin): 
     #custom admin 

admin.site.register(AttorneyGroup, AttorneyGroupAdmin) 

これはまだそれをカスタマイズしながら、あなたは

関連する問題

 関連する問題