python 数据模型orm
2024-09-03 23:47:39
在__init__.py增加,因为默认的mysqldb不支持python3
import pymysql
pymysql.install_as_MySQLdb()
创建表
from django.db import models # Create your models here. # 图书管理系统, 书 作者 出版社 # 出版社
class Publisher(models.Model):
id = models.AutoField(primary_key=True) # 自增的ID主键
# 创建一个varchar(64)的唯一的不为空的字段
name = models.CharField(max_length=64, null=False, unique=True)
addr = models.CharField(max_length=128) # 书
class Book(models.Model):
id = models.AutoField(primary_key=True) # 自增的ID主键
# 创建一个varchar(64)的唯一的不为空的字段
title = models.CharField(max_length=64, null=False, unique=True)
# 和出版社关联的外键字段
publisher = models.ForeignKey(to="Publisher")
创建多对多关系
# 图书管理系统, 书 作者 出版社 # 出版社
class Publisher(models.Model):
id = models.AutoField(primary_key=True) # 自增的ID主键
# 创建一个varchar(64)的唯一的不为空的字段
name = models.CharField(max_length=64, null=False, unique=True)
addr = models.CharField(max_length=128) def __str__(self):
return "<Publisher Object: {}>".format(self.name) # 书
class Book(models.Model):
id = models.AutoField(primary_key=True) # 自增的ID主键
# 创建一个varchar(64)的唯一的不为空的字段
title = models.CharField(max_length=64, null=False, unique=True)
# 和出版社关联的外键字段
publisher = models.ForeignKey(to="Publisher") def __str__(self):
return "<Book Object: {}>".format(self.title) # 作者表
class Author(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=16, null=False, unique=True)
# 告诉ORM 我这张表和book表是多对多的关联关系,ORM自动帮我生成了第三张表
book = models.ManyToManyField(to="Book") def __str__(self):
return "<Author Object: {}>".format(self.name)
最新文章
- CSS3过渡详解-遁地龙卷风
- java-collections.sort异常Comparison method violates its general contract!
- 控制input标签中只能输入数字以及小数点后两位
- Mac删除JDK
- [NOIP2015] 提高组 洛谷P2679 子串
- UICollectionView使用
- css slice和splice
- BZOJ3695 滑行
- 我用的一些Node.js开发工具、开发包、框架等总结
- 使用APPLICATION制作缓存,转存一下,有一段写的还可以。
- ArcEngine:栅格分级渲染
- [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇)
- 安装Java8以后,Eclipse运行异常解决方案
- Windows中的备份和还原
- Nginx技术研究系列1-通过应用场景看Nginx的反向代理
- 【死磕 Spring】—— IoC 之深入理解 Spring IoC
- ADO.NET获取数据(DataSet)同时获取表的架构
- 【Deep Learning】RNN LSTM 推导
- oracle Bug 4287115(ora-12083)
- iOS:多线程NSThread的详细使用
热门文章
- windows系统安装Java(详细版)
- springboot+druid+mybatis plus的多数据源配置
- layui radio手动选择失效的问题
- 1级搭建类103-Oracle 12c 单实例 FS(12.2.0.1+RHEL 7)公开
- C# LINQ学习笔记一:走进LINQ的世界
- SpringBoot整合WEB开发--(十)配置AOP
- gulp 对js\css进行md5 加密
- window.location.herf传值问题
- Vue ui创建项目
- 手动运行jar包,指定配置文件