简介:今天,首席CTO注释要与您分享如何转到Django中有关ORM的数据库内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
本文目录清单:
1.如何在Django中动态操作数据库字段?2。如何操作django orm的现有表结构3.使用python脚本4中的django orm。通过工具获取数据库的数据库,然后绘制以在网页上构建的网页上的Django的ORM系统上显示可视化结果。当您编写模型模型文件时,例如定义此用户表,然后包括Field Telphone定义了一旦执行Manage.py SynCDB的操作,您将将表结构写入数据库。如果删除模型文件的电信,则不会对数据库进行修订。这次,您必须使用本机SQL来求解它,也就是说,必须为DJANGO编写SQL语句才能执行它。在这种情况下,会有很多问题,这意味着在执行Alter Table用户删除列telphone之后,您的模型文件不知道您已经使用了用户来使用用户。Django应用程序的崩溃。因此,动态字段并不容易。这也可能是我可以浅薄地学习。我不太了解。也许有些人可以做到。但是尽量不要尽可能多地删除字段。
Django Orm如何操作现有表结构
首先,您需要知道如何在视图中渲染模板,这取决于您使用的数据库以及是否使用django orm。
以MySQL为例。如果您只需要从现有数据库中查询数据,则可以使用MySQLDB模块。查询数据和模板用于渲染,然后在渲染后返回到模板对象。
Sqlalchemy使用两个级别。1是使用SQL表达式。坦率地说,您可以让您在Python中编写SQL。2是它的ORM。ORM使用会话。它可以在多个过程中管理会话和通过会话。操作业务自己。写作是通常的事务脚本(域模型通常称为贫血)。实际上的编码通常与1和1混合。
Django通过中间件的中部隐藏了连接/交易管理的概念,并且写作相对简单。它接近爪哇交通拥堵的交通拥堵。内容中没有SQL表达式级别。
但是,在可用于达到Sqlalchemy高峰的ORM中,它没有以其他语言看到。Ruby具有Sqlalchemy的阴影。
在项目开发中,经常会遇到需求:数据是从旧数据库导入到新数据库中的。例如,从SQL Server导入的新型MY SQL数据库。许多字段,如果您可以使用Django的ORM,它将更加方便。
创建py file import_data.py在manage.py目录中
App.Models
在设置中配置多个数据库。
如果您有一个名为MyApp的应用程序,则模型型。Py代码如下:
来自django.db导入模型
班级人(Models.Model):
first_name = models.charfield(max_length = 30)
last_name = models.charfield(max_length = 30)
Django数据库迁移通常是两个命令,命令行执行
1.生成数据表
python manage.py迁移
等效地执行以下SQL语句
创建表myapp_person(
“ ID”服务器不是零主键,
“ first_name” varchar(30)不为null,
“ last_name” varchar(30)不是null
);
2.修改Model Model.py字段后,您可以使用重建命令。我们在模型中添加了一个字段
来自django.db导入模型
班级人(Models.Model):
first_name = models.charfield(max_length = 30)
last_name = models.charfield(max_length = 30)
doday = model.datefield(“生日”,默认= dateTime.date.today)
然后在命令行中执行
python manage.py makemigrations
最后执行命令python manage.py runserver,在本地浏览器中打开127.0.0.1:8000
在Django中,管理数据库类似于SQLARCHEMY,并通过ORM框架实现。所有数据库的建立均在Model.py中实现。
首先查看如何创建一个表:
A。首先定义类,继承模型。模型,然后根据要求定义参数。这些参数的类型和变量将在以后进一步说明
模型
来自django.db导入模型
类UserInfo(models.model):
用户名= models.charfield(max_length = 32)
密码= models.charfield(max_length = 64)
b。注册应用程序
settings.py
instasted_apps = [[[
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes',
'django.contrib.sessions',
‘django.contrib.messages',
‘django.contrib.staticfiles’,
“ app01”,
这是给予的
C。execute命令。第一个命令将生成一个初始化文件,第二个命令将生成相应的表
python manage.py makemigrations
python manage.py迁移
这样,PyCharm随附的SQLite数据库中成功生成了App01_userinfo的表。该表将以自我信息为主键,而我们的其他两个字段由我们通过类创建。
d。如果要使用MySQL,因为Django默认使用MySQLDB模块,因此在版本3.0中不存在此错误,因此它将直接报告错误。我们需要更改为PymySQL的模块。该方法如下:
将以下代码添加到同名文件夹的文件夹下的__init__文件:
导入pymysql
pymysql.install_as_mysqldb()
2.查询添加,删除,更改单个表的查询
查询
获取所有结果,获得的结果是类似QuerySet列表的对象。每个元素本身都是一个对象,包括ID,名称,密码和其他属性。
obj = model.userinfo.objects.all()
querySet [UserInfo:UserInfo对象,UserInfo:UserInfo对象,UserInfo:UserInfo对象,UserInfo:UserInfo Object,userInfo:userInfo:userInfo Object]
它可以通过过滤器过滤,这相当于SQL的语句,因为结果也是querySet,因此您需要使用第一个()来获取第一个值
obj = model.userinfo.objects.filter(id = nid).first()
增加
models.userinfo.objects.create(用户名= u,password = p,user_group_id = 3)
删除,您可以根据过滤器删除它
models.userinfo.objects.filter(id = nid).delete()
有两种常见的修改方法
第一条方法
models.userinfo.objects.filter(id = nid).update(用户名= u,password = p)
第二种方式
obj = model.userinfo.objects.filter(id = nid)
obj.username = u
obj.save()
如何获得数据库数据的基本知识属于Django Orm部分,请参阅Django官方网站教程。如果您不了解英语,可以看到一些自我challor的模型教程。
如何可视化数据到页面的数据属于前端知识,这与您的数据类型,数据卷,显示形式,期望,所选的前端框架和UI框架有关。
结论:以上是首席CTO注释为每个人编写的Django中ORM相关内容的摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?