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)
阅读 3.1k
1 个回答

哦,我这个方法是对的。没问题。自己测试用例写错了:(

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题