禁用 models.CharField 中的空白区域

car*_*arl 3 django-models django-admin

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

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

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

car*_*arl 7

谢谢威廉,但我不太确定该怎么做。

也就是说,我自己解决了这个问题,在 Django TextField/CharField 的帮助下,剥离了空格/空白行

对于那些像我一样仍在学习的人来说,一步一步:

  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__"
Run Code Online (Sandbox Code Playgroud)
  1. 定义模型管理时引用自定义表单(admin.py)
from .forms import YourForm

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

    form = YourForm

Run Code Online (Sandbox Code Playgroud)