Django Adminのlist-filterはモデルフィールド(カラムの名前)を指定して使うことを想定したものです。
http://djangoproject.jp/doc/ja/1.0/ref/contrib/admin.html#list-filter
単にモデルフィールド「カラム1
」に「テスト」が含まれるもの以外のオブジェクトを排除したいのであれば、Aモデルのデフォルトマネジャを変更して、あらかじめAモデルのフィールド「カラム1」に「テスト」が含まれるオブジェクトのみを返すようにすると、よいのではないでしょうか。
http://djangoproject.jp/doc/ja/1.0/topics/db/managers.html#queryset
もっと複雑なクエリを発行したいのであれば、Django Adminをカスタマイズするよりも、viewを書くのがよいと思います。
Takanao Endoh
http://www.MiCHiLU.com
Sent from ???, ????, ??
2009/5/8 maru <s.marukawa...@nifmail.jp>:
Adminの検索だけ変更したいのであれば、モデルのデフォルトマネジャを変更するよりは、
ModelAdminのカスタマイズをした方が良いかもしれません。
例によって未来にわたって動作するか不明ですが、参考ソースコードのURLを貼付けておきます。
http://coderepos.org/share/browser/lang/python/every_resources/trunk/everes_core/admin.py
ModelAdminのquerysetを上書きしてスーパーユーザ以外は自分の登録したデータのみを対象
とするハックです。
条件によって検索条件を絞り込んだクエリセットを返せます。
requestが渡ってくるので、ゴリゴリできます。
私はAdminで何でもやりたくて無理するのが好きなのでこんなことをしていますが、遠藤さんの
いうとおりviewを書くのが良いかもしれません :)
以上、参考になれば。
On 5月8日, 午前4:15, Takanao Endoh <djm...@gmail.com> wrote:
> 遠藤です
>
> Django Adminのlist-filterはモデルフィールド(カラムの名前)を指定して使うことを想定したものです。http://djangoproject.jp/doc/ja/1.0/ref/contrib/admin.html#list-filter
>
> 単にモデルフィールド「カラム1
> 」に「テスト」が含まれるもの以外のオブジェクトを排除したいのであれば、Aモデルのデフォルトマネジャを変更して、あらかじめAモデルのフィールド「カラム1 」に「テスト」が含まれるオブジェクトのみを返すようにすると、よいのではないでしょうか。http://djangoproject.jp/doc/ja/1.0/topics/db/managers.html#queryset
>
> もっと複雑なクエリを発行したいのであれば、Django Adminをカスタマイズするよりも、viewを書くのがよいと思います。
>
> Takanao Endohhttp://www.MiCHiLU.com
> Sent from ???, ????, ??
>
> 2009/5/8 maru <s.marukawa-peacef...@nifmail.jp>: