导读:很多朋友问到关于django怎么区分读写数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
如何在django中使用多个数据库
.多个数据库联用时数据导入导出
使用的时候和一个数据库的区别是:
如果不是defalut(默认数据库)要在命令后边加 --database=数据库对应的settings.py中的名称 如: --database=db1 或 --database=db2
数据库同步(创建表)
python manage.py syncdb #同步默认的数据库,和原来的没有区别
#同步数据库 db1 (注意:不是数据库名是db1,是settings.py中的那个db1,不过你可以使这两个名称相同,容易使用)
python manage.py syncdb --database=db1
数据导出
python manage.py dumpdata app1 --database=db1 app1_fixture.json
python manage.py dumpdata app2 --database=db2 app2_fixture.json
python manage.py dumpdata auth auth_fixture.json
数据库导入
python manage.py loaddata app1_fixture.json --database=db1
python manage.py loaddata app2_fixture.json --database=db2
django 怎么从数据库读数据,成为表单默认值
django
怎么从数据库读数据,成为表单默认值
最简单的办法是。为数据库的表建立一个model。具体做法是这样子。
1.在settings.py里设置数据库连接方式。连接错误后面都没有办法
2.在models设置一个数据库表的对应数据结构,通常叫关系对象模型,所以叫model,它就是一个类。你可以用django-admin.py
...probe,似乎是这个命令,就是一个数据库的探测命令,可以根据表,自动生成model的代码。当然如果你先写了model的代码就可以用syncdb命令生成数据库的表
django怎么判断数据库的记录是否存在
我觉得楼上的回答好像有点问题。大家可以自行验证一下我是否正确。
用get查询的时候,查询不到内容的时候会抛出异常,同样查询结果多余1条的时候也会抛出异常。因此,不能使用get,而应该使用filter。
filer若是查询不到数据,会返回一个空的查询集,[] type类型是:Queryset。
查询到多余一条的时候会,还是会返回一个包含多个对象的查询集。
所有用filter查询到的是否为'[ ]'来判断是否存在。
userinfo = Users.objects.filter(email = request.POST@['email'])
if userinfo.exists():
print("yes,we have this email")
else:
print("sorry,email is not register")
另外还可以使用count()这个方法,userinfo.count() =0的话表示不存在数据,大于0的话表示存在一条或多条。
还有就是楼上的答案:if uerinfo:..........else: .......
结语:以上就是首席CTO笔记为大家介绍的关于django怎么区分读写数据库的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。