2

Django 管理アプリのホームページにカウンターを追加できるかどうか知りたいのですが、

例:

ここに画像の説明を入力

このために、models.py または admin.py に @property を作成できますか?

ありがとう

4

3 に答える 3

3

変更してみてくださいModel._meta.verbose_name

admin.pyファイル:

from app.models import CouponModel

CouponModel._meta.verbose_name_plural = "Used Coupons ( %s ) " % CouponModel.objects.all().count()

私はこれをテストしました、そしてそれはうまくいきます、それがどれほど賢いかわかりません。

于 2013-01-08T15:11:22.277 に答える
3

文字列型を特殊化して、必要な動的動作を追加できます。

完全な例を次に示します。

from django.db import models

class VerboseName(str):
    def __init__(self, func):
        self.func = func

    def decode(self, encoding, erros):
        return self.func().decode(encoding, erros)

class UsedCoupons(models.Model):
    name = models.CharField(max_length=10)

    class Meta:
        verbose_name_plural = VerboseName(lambda: u"Used Coupons (%d)" % UsedCoupons.objects.all().count())
于 2013-01-10T12:34:33.743 に答える
0

動的な値が必要なため、Metaでは実行できないと思います。また、メタを変更すると、管理者だけでなく、モデルを使用するすべての場所で変更が行われます。https://stackoverflow.com/a/6312798/1433029のようなものを使用するか、django管理ツールhttps://bitbucket.org/izi/django-admin-tools/を使用するのが最善のアイデアだと思います

于 2013-01-08T15:10:40.410 に答える