当前位置: 首页 > 网络应用技术

如何使用第三方ORM(如何运行别人的Django项目)

时间:2023-03-07 17:29:40 网络应用技术

  简介:许多朋友询问有关Django如何使用第三方ORM的问题。本文的首席CTO注释将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  在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()

  在项目开发中,经常会遇到需求:数据是从旧数据库导入到新数据库中的。例如,从SQL Server导入的新型MY SQL数据库。许多字段,如果您可以使用Django的ORM,它将更加方便。

  创建py file import_data.py在manage.py目录中

  App.Models

  在设置中配置多个数据库。

  数据库= {

  '默认': {

  '引擎':'django.db.backends.sqlite3',#add'postgresql_psycopg2','mysql','sqlite3'或oracle'。

  'name':'demo.db',#或数据库文件的路径,如果使用sqlite3。

  #下面的设置未与sqlite3一起使用:

  “用户”:'',

  '密码': '',

  “主机”:',#通过域插座为Localhost的#空位或通过TCP的Localhost的“ 127.0.1”。

  '端口':'',#设置为默认的字符串。

  }

  }

  instasted_apps =((

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.sites',

  'django.contrib.messages',

  'django.contrib.staticfiles',

  #取消注释下一行以启用管理员:

  #'django.contrib.admin',

  #取消注释下一行启用管理文档:

  #'django.contrib.admindocs',

  '南',

  “学习”,

  '图书',

  治愈

  Sqlalchemy使用两个级别。1是使用SQL表达式。坦率地说,您可以让您在Python中编写SQL。2是它的ORM。ORM使用会话。它可以在多个过程中管理会话和通过会话。操作业务自己。写作是通常的事务脚本(域模型通常称为贫血)。实际上的编码通常与1和1混合。

  Django通过中间件的中部隐藏了连接/交易管理的概念,并且写作相对简单。它接近爪哇交通拥堵的交通拥堵。内容中没有SQL表达式级别。

  但是,在可用于达到Sqlalchemy高峰的ORM中,它没有以其他语言看到。Ruby具有Sqlalchemy的阴影。

  结论:以上是首席CTO的全部内容,请注意Django如何使用第三方ORM。感谢您阅读本网站的内容。我希望这对您有帮助。不要忘记在此网站上找到它。