2

モデル

class A(SiteAwareModel):

    name = models.CharField(max_length = 255, blank = False)
    description = models.TextField(blank = True, null = True)

    class Meta:
        def key_count(self):
            return B.objects.count(self)

管理者

class AAdmin(admin.ModelAdmin):
    list_display = ('key_count')
    list_filter = ('key_count')

admin.site.register(A, AAdmin)

問題

独自のフィールド (名前、説明) を持つモデル A があります。また、モデルAはモデルB(外部キー関係なし)を用いてキー数を計算する。

管理パネルで key_count にアクセスしたい。admin 意味 list_display の列を確認できますが、list_filter で使用しようとするとエラーがスローされます。

「AAdmin.list_filter 1」は、フィールドを参照しない「key_count」を参照します。

最終結果

key_count > 10 を表示するフィルターを作成したい

私がやったこと(成功せずに)

このブログ投稿の助けを借りて、マネージャーを介してすでに試しました

私がしたくないこと

新しい移行を作成してモデルを変更したくありません。

4

1 に答える 1

0

目的に合わせてカスタムフィールドクラスを作成してみることができますhttps://docs.djangoproject.com/en/dev/howto/custom-model-fields/

移行を書きたくない場合は、南にやらせてください^^

http://south.aeracode.org/

幸運を!

于 2013-03-01T14:35:34.557 に答える