如何获取自定义Django模型choicefield的帮助文本

2024-09-23 22:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个customModelChoiceField,这样我就可以为我的外键显示自定义标签,但是这样做Django不再在表单上显示help_text。我怎样才能找回帮助短信?在

模型.py

class Event(models.Model):

    title = models.CharField(max_length=120)
    category = models.ForeignKey(Category, default=Category.DEFAULT_CATEGORY_ID, on_delete=models.SET_NULL, null=True,
                                 help_text="By default, events are sorted by category in the events list.")

表单.py

^{pr2}$

Tags: djangotextpy模型default表单modelshelp
2条回答

在问题下面的注释的帮助下,下面是我如何获得自定义表单字段以从模型中获取默认帮助文本的方法:

class EventForm(forms.ModelForm):
    category = CategoryModelChoiceField(
        queryset=Category.objects.all(),
        help_text=Event._meta.get_field('category').help_text,
)

您可以将其添加到Meta中。在

from django.utils.translation import gettext_lazy as _

class AuthorForm(ModelForm):
    class Meta:
        model = Author
        fields = ('name', 'title', 'birth_date')
        labels = {
            'name': _('Writer'),
        }
        help_texts = {
            'name': _('Some useful help text.'),
        }
        error_messages = {
            'name': {
                'max_length': _("This writer's name is too long."),
            },
        }

django docs。在

另外,您可以使用__init__方法添加。在

^{pr2}$

相关问题 更多 >