【发布时间】:2018-11-02 22:42:52
【问题描述】:
我正在创建一个customModelChoiceField,这样我就可以为我的外键显示自定义标签,但是这样做Django 不再在表单上显示help_text。如何取回帮助文本?
models.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.")
forms.py
class CategoryModelChoiceField(forms.ModelChoiceField):
def label_from_instance(self, obj):
return "%s (%s)" % (obj.name, obj.description)
class EventForm(forms.ModelForm):
category = CategoryModelChoiceField(
queryset=Category.objects.all(),
)
class Meta:
model = Event
fields = [...]
【问题讨论】:
-
将
help_text作为参数传递给CategoryModelChoiceField。也许您可以像help_text=self._meta.model.category.help_text或类似的东西访问它。
标签: python django modelform modelchoicefield