Если вы все еще не в Django 1.9+, позор вам (и мне), и оставьте это в своей форме. Это похоже на ответ @ jeremy-lewis, но у меня было несколько проблем с ним.

брать пробелы (обрезку) с конца charField в Django?

Вот моя модель, как вы можете видеть, я пытался использовать чистые методы, но они никогда не запускались.

Я также пытался сделатьname.strip(), models.charField().strip() но они тоже не работают.

Есть ли способ заставить charField автоматически обрезаться для меня?

Благодарю.

from django.db import models
from django.forms import ModelForm
from django.core.exceptions import ValidationError
import datetime

class Employee(models.Model):
    """(Workers, Staff, etc)"""
    name                = models.CharField(blank=True, null=True, max_length=100)

    def save(self, *args, **kwargs):
        try:
            # This line doesn't do anything??
            #self.full_clean()
            Employee.clean(self)
        except ValidationError, e:
            print e.message_dict

        super(Employee, self).save(*args, **kwargs) # Real save

    # If I uncomment this, I get an TypeError: unsubscriptable object
    #def clean(self):
    #   return self.clean['name'].strip()

    def __unicode__(self):
        return self.name

    class Meta:
        verbose_name_plural = 'Employees'

    class Admin:pass


class EmployeeForm(ModelForm):
    class Meta:
        model = Employee

    # I have no idea if this method is being called or not  
    def full_clean(self):       
        return super(Employee), self.clean().strip()
        #return self.clean['name'].strip()

Отредактировано: обновлен код до последней версии. Я не уверен, что я делаю неправильно, поскольку он все еще не удаляет пробелы (обрезает) поле имени.

Ответы на вопрос(6)

Ваш ответ на вопрос