从models.CharField禁用带状空格

时间:2019-10-23 10:27:25

标签: django-models django-admin

我有一个使用models.CharField的Django应用程序。问题是尾随空白已删除,这很奇怪,我不想发生。

我仅通过管理员而不是表单来访问该字段。通过其他帖子,我了解到表单具有strip = False选项,但是模型没有。

有没有简单的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:2)

感谢威廉(Willem),但我不确定如何做到这一点。

也就是说,我已经自己解决了, Django TextField/CharField is stripping spaces/blank lines

针对像我这样仍在学习中的人逐步进行操作:

  1. 定义自定义表单,覆盖 init 方法(forms.py)
class YourForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(YourForm, self).__init__(*args, **kwargs)
        self.fields['myfield'].strip = False

    class Meta:
        model = YourModel
        fields = "__all__"
  1. 定义模型admin(admin.py)时参考自定义表单
from .forms import YourForm

class YourModelAdmin(admin.ModelAdmin):
    # list_display, ordering etc.

    form = YourForm