今天,我将与您分享Django如何构建一张桌子知识,这也将解释Django施工桌。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
本文目录清单:
1. Python编程DJANGO框架,要在数据库中添加一个表2.现有数据库表。建立模型代码部分:
来自django.db导入模型
班级学生(Models.Model):
name = models.charfield(max_length = 30)
等级= model.integerfield()
执行部分:
python manage.py makemigrations
python manage.py迁移
;
Django创建一个数据库表方法如下:
捕捉器:MySite Catcher $ Python Manage.py Makemigrations Books
“书籍”的迁移:
0001_Initial.py:
- 创建模型作者
- 创建模型书
- 创建模型出版商
-DD Field Publicsher预订
捕捉器:MySite Catcher $ Python Manage.py Sqlmigrate Books 0001
开始;
------
- 创建模型作者
------
创建表“ books_author”(“ id”整数而不是null主键自动启动,“ first_name” varchar(30),而不是null,last_name” varchar(40)不是nul null,null,“ emil” varchar(254)不(254)不(254)
------
- 创建模型书
------
创建表“ books_book”(“ id” integer而不是null主键自动启动,标题“ varchar(100)不是null,publication_date”日期而不是null);
------
- 创建模型出版商
------
(30)不是零,“乡村” varchar(50)不是null,“网站” varchar(200)而不是null);
------
-DD Field Publicsher预订
------
Alter Table“ Books_book”重命名为“ books_book__old”;
插入“ books_book”(“ publication_date”,“ publisher_id”,“ id”,“ title”)选择“ publication_date”,null,“ id”,“ title” books_book_old”;
drop表“ books_book__old”;
在“ books_book”(“ publisher_id”)上创建索引“ books_book_book_2604cbea”;
犯罪;
捕捉器:Mysite Catcher $
在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()
知识的要点:
桌子关系的实现
一个-to -Multi -ptable关系
MySQL中的一对主要是通过外部键实现的,在Django模型中,它是通过ExourneKeyfield类型实现的。
一个 - 一张桌子关系
MySQL中的一个-to -ONE通过外部密钥和唯一键实现,并通过Django模型中的OneToOneField类型实现。
多站
MySQL中的大多数对主要是通过中间表和唯一键实现的,并通过Django模型中的ManyTomanyfield类型实现。中间手表模型将自动创建。
例子:
关系表中数据的操作
在Internet上看到使用Django的模型和MAKEMIGRATION,迁移命令创建新表并使用它。但是我的数据已经存在,并且已经存储了,并且已经存储了数据,并且无法创建新表格。Django的指示和与模型名称的映射关系可以使Django使用现有表。
如果模型在Django中存在如下:
[python]查看普通副本
来自django.db导入模型
#在这里创建您的模型。
Sciencenews(Models.Model):
id = models.charfield(max_length = 36,primary_key = true)
first_module = model.charfield(max_length = 30,默认值=“ news”)
second_module = model.charfield(max_length = 30,默认值=“最新新闻”)
title = models.charfield(max_length = 300)
作者= models.charfield(max_length = 60,null = true)
publish_date = models.charfield(max_length = 35,null = true)
content = model.textfield(null = true)
crawl_date = model.charfield(max_length = 35,null = true)
from_url = models.charfield(max_length = 350,null = true)
执行数据迁移命令:
[python]查看普通副本
python manage.py makemign
python manage.py迁移
名为show_sciencenews的数据表将在数据库中生成。显示为应用程序名称。我的应用程序名称在此处显示。
我的存储和攀登数据数据的表名是Science_News,我想使用它来使用它而不是创建新表。其名称的名称更改为带有表格的模型的名称,在这里我更改为show_sciencenews。然后使用上述数据迁移命令。目前,可以提示数据表数据表已经存在错误。不合理的模型已使用数据表映射。接下来,您只需要正常使用模型和数据表即可。
Django如何建造一张桌子和Django建筑的介绍已经结束。我想知道您是否从中找到了所需的信息?如果您想进一步了解此信息,请记住要收集对该网站的关注。