遇到的问题及解决方案

遇到的问题

在使用django连接数据库的时候报错,提示数据库已存在

django默认是根据models文件里的内容主动创建数据库的,如果想连接到已存在的本地数据库,可以使用

python ../manage.py inspectdb > models.py (需要先进入相关app文件夹内执行此命令,使用app.models.py这种方式,但是失败了)
根据已存在数据库生成orm类,写入models文件中,然后执行makemigrations,在执行migrate命令的时候需要在后面添加 
--fake-initial 参数

$ python manage.py makemigrations
$ python manage.py migrate --fake-initial

这样就不会报错了,会连接到一个同名的数据表。

django : 'str' object has no attribute 'tzinfo'报错

在使用mysql创建字段的时候使用的是  datetime 类型创建的,但实际使用时初始值设为 0 就会自动填充 0000-00-00 00:00:00 这种数据,这种格式在orm中使用  

DateTimeField 查询会报错,有的教你在后面设置中添加 auto_now=True ,但是这样一来就变成修改数据的时候自动填充时间了,这个有不符合我的要求了,屋内只能是把DateTimeField 改成了
CharField,现在终于能正常连接数据库然后查询数据了。

猜你喜欢

转载自www.cnblogs.com/codenoob/p/11934435.html