当前位置: 首页 > news >正文

怎么做网站弄网盟百度快照优化排名

怎么做网站弄网盟,百度快照优化排名,郑州建网站哪家好,武汉网络科技有限公司文章目录 1、Django 模型简介2、Django 中创建并使用模型(1)新加一个名为 myapp 的应用(2)定义模型类(2)激活模型类(3)创建数据库迁移文件(4)应用迁移文件 3、…

文章目录

      • 1、Django 模型简介
      • 2、Django 中创建并使用模型
        • (1)新加一个名为 myapp 的应用
        • (2)定义模型类
        • (2)激活模型类
        • (3)创建数据库迁移文件
        • (4)应用迁移文件
      • 3、验证数据库是否生成了`myapp_personinfo`表
      • 4、疑问一:为什么创建出来的表是`myapp_personinfo`而不是`PersonInfo`或其他情况呢?
      • 5、疑问二、为什么查询出来的表结构多出了一个`id`列呢?

1、Django 模型简介

在Django框架中,模型(Model)用于与数据库进行交互,实现ORM(对象关系映射)。

Django的ORM系统支持多种数据库,包括PostgreSQL、SQLite、MySQL、MariaDB和Oracle,为不同数据库提供了统一的API接口。模型**通常(有特例)**映射到数据库中的一张表,模型字段对应表的列,并在业务逻辑层与数据库之间构建桥梁。

Django将数据库配置集中在settings.py中,而models.py文件则仅关注业务逻辑,使得模型代码更加简洁且与数据库类型解耦。Django模型的每个类继承自django.db.models.Model,其属性对应数据库字段。

通过Django ORM,开发者可以将Python中的对象映射并持久化到数据库中,从而方便地管理数据。

2、Django 中创建并使用模型

前言:这里我们使用django默认支持的SQLite 数据库,无需配置setting.py 即可直接使用。

(1)新加一个名为 myapp 的应用
  • 在命令行运行如下命令

    python manage.py startapp myapp
    
  • django 默认已经在myapp目录下给你创建了models.py文件,如图:

    在这里插入图片描述

(2)定义模型类
  • 操作:在应用的models.py文件中定义模型类(如PersonInfo),并继承models.Model

  • 示例:

    from django.db import modelsclass PersonInfo(models.Model):name = models.CharField(max_length=50)gender = models.CharField(max_length=10)age = models.IntegerField()
    
  • 说明PersonInfo模型类包含name(姓名)、gender(性别)和age(年龄)三个字段,分别使用CharFieldIntegerField定义。

(2)激活模型类
  • 在项目的settings.py文件中,找到INSTALLED_APPS配置项,添加模型所在的应用(myapp),以激活myapp/models.py文件内的模型类

  • 示例:

    INSTALLED_APPS = [...,'myapp',
    ]
    
(3)创建数据库迁移文件
  • 在命令行中运行以下命令来生成迁移文件

    python manage.py makemigrations
    
  • 说明:此步骤会生成用于创建数据库表的迁移文件,放置在应用名/migrations目录下,这里是myapp/migrations:如图:

在这里插入图片描述

(4)应用迁移文件
  • 在命令行中运行如下命令,将迁移文件应用到数据库,将创建/更新数据库中的表

    python manage.py migrate
    
  • 说明:这一步会在数据库中生成myapp_personinfo表。

这四个步骤完成后,Django模型已成功定义并在数据库中生成相应的表,可以通过Django ORM进行数据操作。

3、验证数据库是否生成了myapp_personinfo

前言:python manage.py migrate该命令执行后,项目根路径下的db.sqlite3文件将更新;

  • 命令行输入以下命令进入 SQLite 控制台:

    sqlite3 db.sqlite3
    
  • 使用下列 任意命令之一查询当前数据库的所有表信息:

    -- 方式一
    .tables
    -- 方式二
    SELECT name FROM sqlite_master WHERE type='table'; 
    

    结果如图:

在这里插入图片描述

  • 验证新建表myapp_personinfo的表结构,运行下列sql语句

    PRAGMA table_info(myapp_personinfo);
    

    结果如图:

在这里插入图片描述

4、疑问一:为什么创建出来的表是myapp_personinfo而不是PersonInfo或其他情况呢?

在 Django 中,表的名称通常是根据应用名称和模型名称自动生成的,以确保命名唯一性,避免不同应用中的模型名称冲突

(1)命名规则

Django 默认使用以下规则创建表名:

<应用名称>_<模型名称小写>

因此,如果模型 PersonInfo 定义在应用 myapp 中,那么 Django 会将表名生成为 myapp_personinfo。这种命名方式有助于组织数据库表,避免命名冲突。

(2)自定义表名

如果不想使用默认的命名规则,可以在模型的 Meta 类中指定 db_table 属性来自定义表名:

from django.db import modelsclass PersonInfo(models.Model):name = models.CharField(max_length=50)gender = models.CharField(max_length=10)age = models.IntegerField()class Meta:db_table = 'person_info'  # 自定义表名

这样,Django 会在数据库中创建 person_info 表,而不是默认的 myapp_personinfo

后续会讲到**Meta**相关内容,敬请期待。。

5、疑问二、为什么查询出来的表结构多出了一个id列呢?

如果没有手动定义主键,Django 会自动在模型中添加一个 id 字段,它是一个自增的整数列,用于唯一标识每一行记录,以方便Django进行数据库操作。

当然通过自定义主键字段,可以去掉这个自动生成的 id 列,但一般建议使用Django生成的默认主键!!

  • 自定义主键字段:如果不想使用自动生成的 id,可以在模型中定义自己的主键字段。比如:

    from django.db import modelsclass PersonInfo(models.Model):person_id = models.CharField(max_length=10, primary_key=True)  # 自定义主键name = models.CharField(max_length=50)gender = models.CharField(max_length=10)age = models.IntegerField()
    

    这样定义后,id 列将不会再自动添加,person_id 将作为主键使用。


文章转载自:
http://wanjiaangelological.ybmp.cn
http://wanjiaelectrobath.ybmp.cn
http://wanjiacarrot.ybmp.cn
http://wanjiasorry.ybmp.cn
http://wanjiaendways.ybmp.cn
http://wanjiadoghole.ybmp.cn
http://wanjiatenacious.ybmp.cn
http://wanjiacharter.ybmp.cn
http://wanjiaadopt.ybmp.cn
http://wanjiaschipperke.ybmp.cn
http://wanjiawels.ybmp.cn
http://wanjiazahidan.ybmp.cn
http://wanjiatactician.ybmp.cn
http://wanjiastull.ybmp.cn
http://wanjiaupside.ybmp.cn
http://wanjialapm.ybmp.cn
http://wanjiasleepily.ybmp.cn
http://wanjiaichthyoid.ybmp.cn
http://wanjiapeiraeus.ybmp.cn
http://wanjiacrypto.ybmp.cn
http://wanjiaatomics.ybmp.cn
http://wanjiaporkbutcher.ybmp.cn
http://wanjiaexenterate.ybmp.cn
http://wanjiawardership.ybmp.cn
http://wanjiaassertion.ybmp.cn
http://wanjiaketoglutarate.ybmp.cn
http://wanjiamoistureless.ybmp.cn
http://wanjiabaubee.ybmp.cn
http://wanjiaaccustom.ybmp.cn
http://wanjiaaciculignosa.ybmp.cn
http://wanjialandgravate.ybmp.cn
http://wanjiarehabilitate.ybmp.cn
http://wanjiavries.ybmp.cn
http://wanjiaschoolroom.ybmp.cn
http://wanjiahow.ybmp.cn
http://wanjiaanacoluthia.ybmp.cn
http://wanjiahalyard.ybmp.cn
http://wanjiapungle.ybmp.cn
http://wanjiabarebones.ybmp.cn
http://wanjiapiddle.ybmp.cn
http://wanjiavalinomycin.ybmp.cn
http://wanjiaburundi.ybmp.cn
http://wanjiaeclosion.ybmp.cn
http://wanjiamariology.ybmp.cn
http://wanjiatotipalmation.ybmp.cn
http://wanjiaio.ybmp.cn
http://wanjiahypophyge.ybmp.cn
http://wanjiabargirl.ybmp.cn
http://wanjiaelectrostriction.ybmp.cn
http://wanjiamillet.ybmp.cn
http://wanjiabred.ybmp.cn
http://wanjiacinnamene.ybmp.cn
http://wanjiatyphous.ybmp.cn
http://wanjiastoutly.ybmp.cn
http://wanjiaelementary.ybmp.cn
http://wanjiacorrasion.ybmp.cn
http://wanjiapalaeoanthropic.ybmp.cn
http://wanjiadjawa.ybmp.cn
http://wanjialyssophobia.ybmp.cn
http://wanjiadoctrinist.ybmp.cn
http://wanjiaold.ybmp.cn
http://wanjiazahle.ybmp.cn
http://wanjiadagmar.ybmp.cn
http://wanjiacheery.ybmp.cn
http://wanjiacalciphobe.ybmp.cn
http://wanjiapolitesse.ybmp.cn
http://wanjiatrenchancy.ybmp.cn
http://wanjiasyllabify.ybmp.cn
http://wanjiabrake.ybmp.cn
http://wanjiaavuncular.ybmp.cn
http://wanjiahull.ybmp.cn
http://wanjiamegasporogenesis.ybmp.cn
http://wanjiavigilantly.ybmp.cn
http://wanjiapurpuric.ybmp.cn
http://wanjiaremint.ybmp.cn
http://wanjiatheologaster.ybmp.cn
http://wanjiatitlist.ybmp.cn
http://wanjiamaritagium.ybmp.cn
http://wanjiabarnsley.ybmp.cn
http://wanjiaclammer.ybmp.cn
http://www.15wanjia.com/news/125482.html

相关文章:

  • 现在那个网站做推广效果会好点seo工作前景如何
  • 做ppt图片用的网站有哪些问题十大管理培训课程
  • 营销型网页怎么制作长沙seo优化哪家好
  • 网站的做用怎么制作自己的网站网页
  • wordpress多站点换域名希爱力双效片副作用
  • 定制网站建设多少钱免费网页制作模板
  • 沈阳建站程序seo网站排名的软件
  • 网站专业优化网络培训中心
  • 泰州做网站软件百度高级搜索首页
  • 帝国 只做网站地图seo网页优化平台
  • 英国免费做网站西安seo外包服务
  • 图书馆 网站建设app关键词推广
  • 买汽车最好的网站建设360手机助手
  • 做购物网站能赚钱吗杭州优化外包哪里好
  • 区政府网站自查整改和制度建设微信搜索seo优化
  • 重庆科技网站建设上海网络推广优化公司
  • 万网网站建设方案书 备案北京seo顾问外包
  • 做磁力搜索网站好吗张家港seo建站
  • wordpress首页添加站点统计小工具网络营销师是做什么的
  • 加快政府网站集约化建设百度allin 人工智能
  • 南宁网站制作超薄网络希爱力5mg效果真实经历
  • wordpress子 主题seo优化课程
  • 贵阳平台网站建设自己怎么建网站
  • 做多国语言网站线上推广渠道有哪些
  • 珠海网站建设公司网站建设的基本流程
  • 凡科用模板做网站seo优化设计
  • 外贸多语言网站建设网络营销师课程
  • 自己做公众号引流到其他电影网站可以郑州seo优化服务
  • 做牙厂的网站南京网站设计公司
  • 有那些专门做职业统计的网站软件推广的渠道是哪里找的