Как заставить Django не добавлять возврат каретки в Textarea в пользовательском интерфейсе администратора?

Я использую Textarea в админке Django с strip=False, как описано здесь.

def formfield_for_dbfield(self, db_field, **kwargs):
    formfield = super().formfield_for_dbfield(db_field, **kwargs)
    if db_field.name == 'some_text':
        formfield.strip = False
        formfield.widget = forms.Textarea(attrs={'rows': 10, 'cols': 80})
    return formfield

Поле DB происходит из поля ввода HTML и содержит новые строки (\n).

После того, как я отредактирую и сохраню в Django, он имеет возвратные новые строки (\r\n), как видно при запросе из БД.

ПЕРЕД:

select md5(some_text), some_text from myapp_obj where id = 328;
               md5                |                         some_text                          
----------------------------------+-----------------------------------------------------------
 adb48a782562ef02801518c4e94ca830 | foo1.                                             +
                                  | foo2                                              +
...   

ПОСЛЕ:

select md5(some_text), some_text from myapp_obj where id = 328;
               md5                |                         some_text                          
----------------------------------+-----------------------------------------------------------
 e9e06c1d9764be70fc61f05c5fd6292c | foo1.\r                                             +
                                  | foo2\r                                              +
...   

Как заставить административный пользовательский интерфейс Django (Textarea) сохранять обратно именно то, что было загружено в его пользовательский интерфейс, ничего не добавляя и не вычитая?

Я использую Django 3.2.9, Postgres 13.

Вернуться на верх