2024-03-29 10:41:47 发布
网友
我想知道是否可以添加一个计数器到Django管理应用程序主页
示例:
我可以在中创建@property吗模型.py或者管理员py为了这个?在
谢谢
我认为你不能用Meta来做,因为它需要一个动态值。另外,修改Meta将使您使用模型的所有地方发生变化,而不仅仅是管理员。我认为最好的办法是使用类似于https://stackoverflow.com/a/6312798/1433029或使用django管理工具https://bitbucket.org/izi/django-admin-tools/
可以专门化字符串类型以添加所需的动态行为。在
下面是一个完整的例子:
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())
尝试修改Model._meta.verbose_name
Model._meta.verbose_name
在你的管理员py文件:
from app.models import CouponModel CouponModel._meta.verbose_name_plural = "Used Coupons ( %s ) " % CouponModel.objects.all().count()
我测试过了,它很管用,不知道它有多聪明。在
我认为你不能用Meta来做,因为它需要一个动态值。另外,修改Meta将使您使用模型的所有地方发生变化,而不仅仅是管理员。我认为最好的办法是使用类似于https://stackoverflow.com/a/6312798/1433029或使用django管理工具https://bitbucket.org/izi/django-admin-tools/
可以专门化字符串类型以添加所需的动态行为。在
下面是一个完整的例子:
尝试修改
Model._meta.verbose_name
在你的管理员py文件:
我测试过了,它很管用,不知道它有多聪明。在
相关问题 更多 >
编程相关推荐