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之间路由映射

目录
相关文章
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
70 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
SQL Go 数据库
【速存】深入理解Django ORM:编写高效的数据库查询
【速存】深入理解Django ORM:编写高效的数据库查询
62 0
|
4月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
279 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
3月前
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗
|
4月前
|
存储 关系型数据库 MySQL
基于python django 医院管理系统,多用户功能,包括管理员、用户、医生,数据库MySQL
本文介绍了一个基于Python Django框架开发的医院管理系统,该系统设计了管理员、用户和医生三个角色,具备多用户功能,并使用MySQL数据库进行数据存储和管理。
155 4
基于python django 医院管理系统,多用户功能,包括管理员、用户、医生,数据库MySQL
|
4月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
4月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
43 0
|
4月前
|
关系型数据库 MySQL 机器人
Django入门到放弃之数据库配置
Django入门到放弃之数据库配置
|
4月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API