2011-02-08 12 views
1

私はdjangoの新機能ですので、これはおそらくノブの質問です。 私はdjango adminの変更リストビューを再利用しようとしています。私は管理モデルを作成し、チェンジリストテンプレートにこれらのオブジェクトのリストを提供したいと思います。私の見解では私が持っている:私は、ブラウザからこの機能をヒットしようとすると、Djangoエラー: 'QueryDict'オブジェクトに '_meta'属性がありません

def placements(request): 
    partner_id = request.session.get('partner_id', 0) 
    self = PlacementAdmin(request.GET, Placement.objects.filter(partner=partner_id)) 
    return render_to_response('publisher/placement/change_list.html', {'cl': self}) 

は、私はこのエラーを取得する: 「のQueryDict」オブジェクトは、誰もが、エラーが何であるかを教えたり提供できる無属性「_meta」 を持っていません私が間違ったトラックに完全に入っている場合にこれを達成するためのより簡単な方法です。

相続人は完全なトレース:

Request Method:  GET 
Request URL: http://localhost:8080/publisher/ 
Django Version:  1.3 beta 1 
Exception Type:  AttributeError 
Exception Value:  

'QueryDict' object has no attribute '_meta' 

Exception Location:  /Users/imran/django_env/lib/python2.6/site-packages/django/contrib/admin/options.py in __init__, line 278 
Python Executable: /Users/imran/django_env/bin/python 
Python Version:  2.6.1 
Python Path:  

['.', 
'.', 
'/Users/imran/Workspaces/publisher/django/pub_admin', 
'/Users/imran/django_env/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', 
'/Users/imran/django_env/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg', 
'/Users/imran/django_env/lib/python26.zip', 
'/Users/imran/django_env/lib/python2.6', 
'/Users/imran/django_env/lib/python2.6/plat-darwin', 
'/Users/imran/django_env/lib/python2.6/plat-mac', 
'/Users/imran/django_env/lib/python2.6/plat-mac/lib-scriptpackages', 
'/Users/imran/django_env/Extras/lib/python', 
'/Users/imran/django_env/lib/python2.6/lib-tk', 
'/Users/imran/django_env/lib/python2.6/lib-old', 
'/Users/imran/django_env/lib/python2.6/lib-dynload', 
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', 
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', 
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', 
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', 
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', 
'/Users/imran/django_env/lib/python2.6/site-packages'] 

答えて

2

質問を投稿するときには、トレースバックエラーを投稿することがベストです!

つまり、エラーはrequest.GETを予期しないModelAdmin管理オブジェクトに渡したことに起因します。

魔法のない、文書化されていないテンプレートタグのコレクションによって操作される魔法の変更リストビューテンプレートを使用しようとすると、 djangoに新しいと同じ文章で表示されます

私はdjangoの管理者がハックするのは簡単ではないので、間違っていると思います。

変数のテンプレートには、少なくともChangeListオブジェクトを渡す必要があります。

これを本当にしたいのであれば、私が与えることができる唯一のアドバイスは、あなたが複製しようとしているものなのでdjango.contrib.admin.options.ModelAdmin.changelist_view()を見てください。

真剣にお話ししたいと思いますが、 Djangoは実際には本当に楽しいです!

+0

あなたの答えに感謝します。 ModelAdmin.changelist_view()を見ていきます。しかし、私はインライン編集、並べ替え、管理アプリケーションのボックスの外に出てくるページネーションが本当に好きです。私が最初からすべてをやることなく、私のアプリで同じビューを得ることができたら、本当に素晴らしいだろう。 – Imran

+0

ええ、それは間違いなく素敵です:)あなたがそれを行うつもりなら、最初のステップは、ChangeListオブジェクトを再現し、必要なデータを提供することです。ちょうどあなたに警告しなければならなかった! –

関連する問題