タグ付けされた質問 「django-admin」

Djangoの組み込みの自動管理インターフェイス(django.contrib.admin)は、Pythonプログラミング言語用のDjango Webフレームワークの一部です。

13
Django ModelAdminの「list_display」は、ForeignKeyフィールドの属性を表示できますか?
私が持っているPersonに外部キー関係があるモデルBookフィールドの数を持っている、が、私はほとんどが心配ですauthor(標準CharFieldです)。 そうは言っても、私のPersonAdminモデルでは、次をbook.author使用して表示したいと思いますlist_display: class PersonAdmin(admin.ModelAdmin): list_display = ['book.author',] 私はそうするための明白な方法をすべて試しましたが、何もうまくいかないようです。 助言がありますか?

13
Django auto_nowおよびauto_now_add
Django 1.1の場合。 これは私のmodels.pyにあります: class User(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) 行を更新すると、次のようになります。 [Sun Nov 15 02:18:12 2009] [error] /home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84: Warning: Column 'created' cannot be null [Sun Nov 15 02:18:12 2009] [error] return self.cursor.execute(query, args) 私のデータベースの関連部分は: `created` datetime NOT NULL, `modified` datetime NOT NULL, これは心配の種ですか? 副次的な質問:私の管理ツールでは、これらの2つのフィールドが表示されません。それは予想されますか?

1
Djangoで多対多フィールドをオプションにするにはどうすればよいですか?
多対多の関係(related_name、ではなくthrough)があり、管理インターフェースを使用しようとしている場合、最初のエントリを作成するために存在する必要はありませんが、関係の1つを入力する必要があります。 イベント主催者のアプリを作成しています。モデルが多対多の関係にあるEventと想像してみてくださいGroup。 Django related_nameは他の2つのテーブルのインデックスを使用して別のテーブルを作成します。 しかし、この追加のテーブルにデータを入力する必要がある理由はわかりません。 phpMyAdminを介してデータベースを操作する場合、Groupを登録せずにを作成できます。これEventは、2つの間の接続が別のテーブルを介してのみ行われ、特定のレベルでのデータベース値の強制がないためです。 管理インターフェイスにこれを実現させるにはどうすればよいですか? Djangoで多対多フィールドをオプションにするにはどうすればよいですか?


9
オブジェクトのDjango管理URLを取得する
Django 1.0以前は、オブジェクトの管理URLを取得する簡単な方法があり、次のように使用する小さなフィルターを作成していました。 <a href="{{ object|admin_url }}" .... > ... </a> 基本的に私はビュー名が 'django.contrib.admin.views.main.change_stage' reverse( 'django.contrib.admin.views.main.change_stage', args=[app_label, model_name, object_id] ) URLを取得します。 ご想像のとおり、私はDjangoの最新バージョンに更新しようとしていますが、これは私が遭遇した障害の1つであり、管理URLを取得するためのこのメソッドはもう機能しません。 django 1.0でこれを行うにはどうすればよいですか?(または私はsvnの最新バージョンに更新しようとしているので、それについては1.1)。

2
Django adminの同じモデルに対する複数のModelAdmins /ビュー
同じモデルに対して複数のModelAdminを作成し、それぞれを異なる方法でカスタマイズし、異なるURLにリンクするにはどうすればよいですか? PostsというDjangoモデルがあるとします。デフォルトでは、このモデルの管理ビューにはすべてのPostオブジェクトがリストされます。 list_displayなどの変数を設定するかqueryset、ModelAdminでメソッドをオーバーライドすることで、ページに表示されるオブジェクトのリストをさまざまな方法でカスタマイズできることを知っています。 class MyPostAdmin(admin.ModelAdmin): list_display = ('title', 'pub_date') def queryset(self, request): request_user = request.user return Post.objects.filter(author=request_user) admin.site.register(MyPostAdmin, Post) デフォルトでは、URLからアクセスできます/admin/myapp/post。ただし、同じモデルの複数のビュー/ ModelAdminsが欲しいです。たとえば/admin/myapp/post、すべての投稿オブジェクト/admin/myapp/mypostsを一覧表示し、ユーザーに属する/admin/myapp/draftpostすべての投稿を一覧表示し、まだ公開されていないすべての投稿を一覧表示する場合があります。(これらは単なる例であり、実際の使用例はより複雑です) 同じモデルに複数のModelAdminを登録することはできません(これによりAlreadyRegistered例外が発生します)。理想的には、すべてを1つのModelAdminクラスに入れずに独自の「urls」関数を記述して、URLに応じて異なるクエリセットを返すことなく、これを実現したいと考えています。 Djangoのソースを確認したところ、ModelAdmin.changelist_viewそのような関数がどういうわけか私のurls.pyに含まれている可能性がありますが、それがどのように機能するのか正確にはわかりません。 更新:自分がやりたいことを行う方法を1つ見つけました(下記を参照)が、これを行う他の方法については引き続き聞きたいです。

2
Djangoは管理者の複数形を修正しました
新しいdjジャンゴバージョンの管理サイトで、一部のモデル名を「Categorys」から「Categories」に変更するにはどうすればよいですか?以前のバージョン(管理サイトと管理モデルを除く)では、これを行うだけで済みました。 http://www.the-dig.com/blog/post/customize-plural-name-django-admin/ ただし、modeladminベースのクラス内でverbose_name_pluralを設定しても何も起こりません。誰もが同じ問題を抱えていますか?

5
Django管理者-特定のモデルの「追加」アクションを無効にする
私はたくさんのモデルとフォームがあるdjangoサイトを持っています。多くのカスタムフォーム、フォームセット、インラインフォームセット、カスタム検証、カスタムクエリセットがあります。したがって、モデル追加アクションは、他のものを必要とするフォームに依存し、django管理の「モデル追加」は、カスタムクエリセットから500を通過します。 特定のモデルの「$ MODELの追加」機能を無効にする方法はありますか? 私が欲しい/admin/appname/modelname/add/の上になるように404(エラーメッセージ「消える」または適した)、私はしたくない'$ MODELNAMEを追加]ボタン与える/admin/appname/modelnameビューを。 Django管理者は管理者アクション(http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions)を無効にする方法を提供しますが、このモデルの唯一のアクションは「delete_selected」です。つまり、管理アクションは既存のモデルにのみ作用します。これを行うためのジャンゴ風の方法はありますか?

11
基本的なDjango管理テンプレートをオーバーライドして拡張する方法
管理テンプレート(例:admin / index.html)をオーバーライドすると同時に、それを拡張する方法(https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacingを参照) -an-admin-template)? 最初に、この質問が以前に尋ねられて回答されたことを知っていますが(Django:アプリテンプレートのオーバーライドと拡張を参照)、答えが言うように、app_directoriesテンプレートローダー(ほとんどの場合)を使用している場合、これは直接適用できません。時間)。 現在の回避策は、管理テンプレートから直接拡張するのではなく、コピーを作成してそれらから拡張することです。これはうまく機能しますが、それは本当に混乱し、管理テンプレートが変更されると余分な作業が追加されます。 テンプレート用のカスタム拡張タグを考えることができますが、すでに解決策が存在する場合は、ホイールを再発明したくありません。 余談ですが、この問題がDjango自体によって解決されるかどうか誰かが知っていますか?

1
list_display-メソッドのブールアイコン
ModelAdminクラスのlist_display配列を定義するときに、BooleanFieldまたはNullBooleanFieldが指定されている場合、UIは列のTrue / Falseテキストの代わりに見栄えの良いアイコンを使用します。ただし、ブール値を返すメソッドが指定されている場合、True / Falseが出力されます。 booleanメソッドにかわいいアイコンを使用する方法はありますか?

3
Django管理者:データベースフィールドがないカスタムlist_displayフィールドの1つで並べ替える方法
# admin.py class CustomerAdmin(admin.ModelAdmin): list_display = ('foo', 'number_of_orders') # models.py class Order(models.Model): bar = models.CharField[...] customer = models.ForeignKey(Customer) class Customer(models.Model): foo = models.CharField[...] def number_of_orders(self): return u'%s' % Order.objects.filter(customer=self).count() 顧客に応じてnumber_of_orders、顧客をどのように分類できますか? admin_order_fieldプロパティは、並べ替えにデータベースフィールドを必要とするため、ここでは使用できません。Djangoがソートを実行するために基礎となるDBに依存しているので、それはまったく可能ですか?注文の数を含む集約フィールドを作成することは、ここではやり過ぎのようです。 おもしろいことに、ブラウザで手動でURLを変更してこの列をソートすると、期待どおりに動作します。

9
Djangoの「xxxxxxオブジェクト」表示の管理アクションサイドバーのカスタマイズ
管理者が最近変更したサイドバーが追加された「オブジェクト」の名前を表示する方法のデフォルトの動作を変更したいと思います。下の図を参照してください。 管理者でこれらの名前を変更する方法を教えてください。理想的には、「MyModelNameオブジェクト」から「Policy」オブジェクトの例のように、「Policy:{{ポリシーの「Policy Name」フィールドの値。}}に変更できるようにしたいのです。 __unicode__私の患者モデルはこれを処理したと思っていましたが、表示されないようです。どんな援助でもありがたいです。

14
Django Adminでフィールドのサイズを変更する
Djangoは、adminでエントリを追加または編集するときに水平方向のスペースを埋める傾向がありますが、場合によっては、日付フィールド、幅8文字、またはCharField(6または8)を編集するときに、スペースを無駄にすることがあります文字幅が広い場合、編集ボックスは最大15文字または20文字になります。 テキストボックスの幅、またはテキストフィールド編集ボックスの高さを管理者に伝えるにはどうすればよいですか?

4
より優れたDjango管理者ManyToManyフィールドウィジェット
Django管理models.ManyToManyFieldツールのデフォルトウィジェットを使用するのは面倒です。これはHTMLのselect要素であり、「その他」のモデルのオブジェクトがたくさんある場合、「この」オブジェクトに関連付けたい「その他」のオブジェクトを実際に見つけるのは実際的ではありません。また、「その他」のモデルのオブジェクトが多数ある場合は、管理ページのレンダリングが遅くなるようです。 私は自分のカスタム管理ウィジェットを作成して自分にManyToManyFields合うように適用できることを認識していますが、代わりに使用できるビルド済みのウィジェットはありますか?私の夢の中で、私は自動入力テキスト入力HTMLウィジェットを想像しています。これは、Django管理フレームワークで実行するのにも実用的/可能ですか? ありがとう。

3
Djangoモデルのフィールドのデフォルト値
モデルがあるとします: class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) 現在、デフォルトの管理者を使用して、このタイプのオブジェクトを作成/編集しています。b各オブジェクトを値で作成できず、デフォルト値を受け取ることができるように、管理者からフィールドを削除するにはどうすればよい0000000ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.