>>> from datetime import datetime
>>> el = Event(id=2,name='红米 Pro 发布会',limit=2000,status=True,address='北京水立方',
start_time=datetime(2016,8,10,14,0,0))
>>> el.save()
C:\Python35\lib\site-packages\django\db\models\fields\_init_.py:1430:
RuntimeWarning: DateTimeField Event.sta
rt_time received a naive datetime (2016-08-10 14:00:00)while time zone support is active.
RuntimeWarning)
因为start_time字段需要设置日期时间,所以先导入detetime.datetime()方法。当通过save()方法通过保存插入了的数据时,我们收到了一行警告信息:“RuntimeWarning: DateTimeField Event.start_time received a naive datetime(2016-08-10 14:00:00)while time zone support is active.”
这跟UTC有关,感兴趣可以自己搜索UTC是什么?这里选择忽略掉这个问题,最简单的方式就是在.../setting.py文件中设置:USE_TZ=false。
修改settings.py文件并保存,需要执行“quit()”命令退出shell模式,并重新执行“Python3manage.py shell”j进入,刚才的设置才会生效。再次执行插入数据的步骤,看看警告信息是不是不见了。
如果你觉得创建和保存分为完成过于麻烦,也可以通过table.object.create()方法将两部合为一步,方法如下。
.....
>>> Event.object.create(id=3,name='红米MAX发布会',limit=2000,status=Ture),
address='北京会展中心',start_time=datetime(2016,9,22,14,0,0))
<Event:红米MAX发布会>
>>> Guent.objects.create(realname='andy',phone=13611001101,email=
'and@mail.com',sign=False,event_id=3)
<Guest:andy>
需要说明的是,表的id字段已经设置了自增,所以创建表数据时可以不用指定id字段,但在创建嘉宾时数据时需要指定关联的发布会id。Event表指定id=3,Guest表指定event_id=3,所以嘉宾“andy”对应的是“红米MAX发布会”。
搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核