django的model字段在保存的时候做预处理怎么办?

django的model字段在保存的时候做预处理怎么办?

比如这个model:

class Book(Model):
   publish_date = DateField()

但是在保存时,用户输入数据是:

book1 = Book(publish_date=‘20171001‘)

我希望这个publish_date能够接受字符串输入,自动转为Date类型存入数据库。这个应该怎么处理呢?
我现在这么处理,但是没用,还是报错说只接受2017-10-01格式的字符串

from dateutil.parser import parse
class Book(Model):
    publish_date = DateField()
    def save(self, *args, **kwargs):
        self.publish_date = parse(self.publish_date)
        return super(Book, self).save(*args, **kwargs)