django框架对数据库的操作

时间:2021-10-12 13:06:21
问题:
F:\gitserver\oschina\xiaobm\tmpjob\OMS>python manage.py makemigrations
CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0005_aut
o_20170902_1631, 0003_auto_20170829_1440 in oms).
To fix them run 'python manage.py makemigrations --merge'


>>解决:
删除migrations目录下面的自动生成文件。不要删除__init__.py


问题2:
有一个表建立不起来,删除数据库中全部表格后,重新执行migrate就好了。看来也不那么可靠啊!
以后才发现,这个问题普通地存在,基本上只要修改了table,重新做python manage.py migrate就会失败。
只有删除db,重新建一个空的db才可以成功。成功的代价就是重新建一次表,如果以后有数据记录怎么办呢?
恐怕只有先export出来,再删除,建空表,导入!但由于表格变了,导入可能会有一些问题吧?


测试数据库开放出来的Api接口:
1.http://127.0.0.1:8000/api/token/add/
方法:POST
body:
{
            "auth_store_id": "668399",
            "app_key": "668399",
            "app_secret": "c10815a09e4eea4538756864280a8009",
            "plat_id": "weidian"
}
输入:chrome://extensions/。记得,一定要先*才能使用postman
token_create: <QueryDict: {'auth_store_id': ["'668399'"], 'app_key': ['"668399"'], 'app_secret': ["'
c10815a09e4eea4538756864280a8009'"], 'plat_id': ["'weidian'"]}>
[04/Sep/2017 10:29:17] "POST /api/token/add/ HTTP/1.1" 200 122


token_create: <QueryDict: {'auth_store_id': ['668399'], 'app_key': ['668399'], 'app_secret': ['c1081
5a09e4eea4538756864280a8009'], 'plat_id': ['weidian']}>
[04/Sep/2017 10:31:29] "POST /api/token/add/ HTTP/1.1" 200 122


但数据库并没有增加记录。
于是,测试一下plat表,


http://127.0.0.1:8000/api/plat/create/ POST下面的数据:
{
            "name": "youzan"
}

成功增加了三条plat记录。id是用uuid方法来生成的,并不是自增id。切记,如果手工操作db创建记录,就会出问题。

django框架对数据库的操作