Django第2步_创建model数据库表

简介: Django第2步_创建model数据库表

数据库模型

数据发展过程中产生过三种基本的数据模型,它们是层次模型、网状模型和关系模型

django里面的db.model

它包含要存储数据的基本字段和行为。通常,每个模型都映射到单个数据库表。
追根溯源,包含太多,这里略过(有时间琢磨),为了提高效率我们知道并且会用其功能就很ok啦!
image.png

models.py写用户模型和产品模型
image.png

choices
它是一个可迭代的二元组(比如,列表或是元组),用来给字段提供选择项。
实现Django后台管理的下拉框选择。
如果设置了 choices ,Django 的管理后台就会显示选择框
而且这个选择框的选项就是 choices 中的元组。
‘choices' must be an iterable containing
(actual value, human readable name) tuples.
每个元组中的第一个元素,是存储在数据库中的值;
第二个元素是该选项更易理解的描述。

from django.db import models

class Person(models.Model):
    Person_image=models.ImageField(upload_to='images/',blank=True,null=True)
    #用户头像
    Person_name=models.CharField(max_length=8,blank=True,null=True)
    #用户名
    Person_id=models.CharField(max_length=8,primary_key='Person_id')
    #用户账号至少6位设置为主码id
    Person_pwd=models.CharField(max_length=20,blank=True,null=True)
    #用户密码
    Person_comment=models.CharField(max_length=100,blank=True,null=True)
    #用户评论
    Person_money=models.FloatField(max_length=100,blank=True,null=True)
    #用户金币
    Person_quality=models.BooleanField(default=False)
    #用户会员属性默认为false
    # def __str__(self):
    #     return self.Person_name
    class Metal:
        db_name='用户表'

class Product(models.Model):
    Product_var=(
        ('F','Fbx'),
        ('O','Obj'),
        )
    Product_kind = models.CharField('Product_kind',max_length=1,choices=Product_var,blank=True, null=True)
    #模型类型选择
    Product_name=models.CharField('Product_name',blank=True, null=True, max_length=20)
    #模型名字
    Product_model=models.FileField(upload_to='Product_files/')
    #模型文件类型
    Product_image = models.ImageField(upload_to='product_images/', blank=True, null=True)
    #模型封面
    Product_money=models.FloatField(max_length=100)
    #模型价格
    Product_id=models.CharField(max_length=4,primary_key='Product_id')
    #模型编号主码
    Person_connect=models.ForeignKey(Person,related_name='Person_product',on_delete=models.CASCADE)
    #外码关联person
    Product_subscribe=models.CharField(max_length=30,default=False)
    #模型评论默认无
    # def __str__(self):
    #     return self.Product_image
    class Meta:
        db_table ='产品模型表'

image.png

admin.py添加到管理员后台

from django.contrib import admin
from demo00.models import Person
from demo00.models import Product
#加入管理员页面查看
admin.site.register(Person)
admin.site.register(Product)
# Register your models here.

image.png

进行数据迁移

  • migrate
  • makemigrations
  • 完成迁移到django和mysql

image.png

image.png

创建django管理员后台账号
命令:creatsuperuser
image.png

进入django后台管理

  • 运行工程
  • 访问http://127.0.0.1:8000/admin/登录管理员账号
  • 查看创建的数据模型
    image.png

image.png
image.png

ok,但是存在一些问题,下一篇介绍urls和view之间路由映射

目录
相关文章
|
24天前
|
存储 关系型数据库 MySQL
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
30662 0
|
24天前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
118 7
|
24天前
|
SQL 数据库 开发者
Python Web 开发: 什么是 Django ORM?如何使用它进行数据库操作?
Python Web 开发: 什么是 Django ORM?如何使用它进行数据库操作?
|
24天前
|
SQL 缓存 数据库
在Python Web开发过程中:数据库与缓存,如何使用ORM(例如Django ORM)执行查询并优化查询性能?
在Python Web开发中,使用ORM如Django ORM能简化数据库操作。为了优化查询性能,可以:选择合适索引,避免N+1查询(利用`select_related`和`prefetch_related`),批量读取数据(`iterator()`),使用缓存,分页查询,适时使用原生SQL,优化数据库配置,定期优化数据库并监控性能。这些策略能提升响应速度和用户体验。
22 0
|
24天前
|
关系型数据库 API 数据库
Django中的数据库事务管理:确保数据一致性
【4月更文挑战第15天】Django框架提供强大的数据库事务管理,确保ACID属性,保证数据一致性和完整性。文章深入讨论了Django事务管理,包括使用`@transaction.atomic`装饰器和`transaction.atomic()`上下文管理器手动控制事务,以及低级API进行精细管理。注意避免长时间事务、选择合适隔离级别、正确处理异常及了解数据库特性。掌握这些技巧对构建可靠Web应用至关重要。
|
24天前
|
SQL 自然语言处理 数据库连接
Django ORM的魔力:简化数据库操作与迁移
【4月更文挑战第15天】Django ORM是Django框架的关键部分,提供了一种高级的面向对象方式与数据库交互,简化了手动SQL操作。通过定义Python数据模型,开发者能轻松创建数据库表结构,使用ORM执行查询、添加、修改和删除数据。Django ORM还自动化处理数据库连接、事务和数据类型转换。当模型变化时,Django的迁移工具帮助管理数据库结构的更新。通过这种方式,Django ORM促进了高效、专注于业务逻辑的Web开发。
|
24天前
|
前端开发 API 数据库
Django(五):如何在Django中通过API提供数据库数据给前端
Django(五):如何在Django中通过API提供数据库数据给前端
|
24天前
|
关系型数据库 MySQL 数据库连接
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
158 11
|
7月前
|
SQL 关系型数据库 MySQL
07 Django模型 - ORM简介及MySQL数据库的使用
07 Django模型 - ORM简介及MySQL数据库的使用
41 0
|
8月前
|
缓存 关系型数据库 MySQL
Django操作MySQL数据库的优化方法
Django操作MySQL数据库的优化方法