gpt4 book ai didi

django 复数化 functional.__proxy__object 而不是 verbose_name

转载 作者:行者123 更新时间:2023-12-01 13:07:28 33 4
gpt4 key购买 nike

我正在尝试创建一条使用某种复数形式的消息。消息如下所示,取决于已删除对象的数量。

已成功删除 [对象数量] 个联系人

因此输出可以是:

已成功删除 1 个联系人成功删除5个联系人

为了完成这项任务,我遵循了下面引用的多元化文档:

pluralization

我在 View 中的代码:

count = returned_objects.count()
if count == 1:
name = model._meta.verbose_name
else:
name = model._meta.verbose_name_plural

text = ungettext(
'Successfully deleted %(count)d %(name)s .',
'Successfully deleted %(count)d %(name)s .',
count
) % {
'count': count,
'name': name
}
print text

我在模型中的代码:

class Meta:
verbose_name = _('contact')
verbose_name_plural = _('contacts')

现在的结果是“成功删除了 1 个 django.utils.functional.proxy object at 0x014D9B70”

我想知道为什么我没有得到 verbose_name 作为输出。相反,我将 django.utils.functional.proxy 对象作为名称的输出。

最佳答案

当您查看代理对象时,您会发现它是类字符串类的代理对象。

尝试使用 model._meta.verbose_name_plural.title() 从代理对象中获取字符串。

关于django 复数化 functional.__proxy__object 而不是 verbose_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1980186/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com