ManyToManyField 的 verbose_name 未显示

发布于 2024-12-28 04:36:08 字数 448 浏览 2 评论 0原文

我为 ManyToManyField 设置的 verbose_name 未显示在我的管理员中。那是因为我覆盖了表单吗?有人可以帮忙吗?

谢谢!

models.py

class PC(models.Model):
    #...
    mag_blacklist = models.ManyToManyField(Magasin, verbose_name="test")

admin.py

class PCForm(forms.ModelForm):
    mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple())

the verbose_name I set for a ManyToManyField is not displayed in my admin. Is that because I override the form? Anybody can help?

Thanks!

models.py

class PC(models.Model):
    #...
    mag_blacklist = models.ManyToManyField(Magasin, verbose_name="test")

admin.py

class PCForm(forms.ModelForm):
    mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple())

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不是你的备胎 2025-01-04 04:36:08

是的,我非常确定这就是原因!只需更改表单字段中的标签即可:

mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple(), label="test")

或者您可以获得像这样的实际详细信息:

mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple(), label=Magasin._meta.get_field_by_name('mag_blacklist')[0].verbose_name)

尝试一下!让我知道是否有效

Yep, I am pretty much sure thats why! just change the label in your form field then:

mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple(), label="test")

Or you can get the actual verbose like this:

mag_blacklist = forms.ModelMultipleChoiceField(queryset=Magasin.objects.all(), widget=forms.CheckboxSelectMultiple(), label=Magasin._meta.get_field_by_name('mag_blacklist')[0].verbose_name)

try it out! lemme know if works

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文