Model基础操作

一大波Model操作

1.创建表

1.1Meta源信息

from django.db import models

class UserInfo(models.Model):
	username = models.CharField(max_length=32)
	password = models.CharField(max_length=32)
	cls = models.ForeinKey(cls)
	class Meta:
	# 1.数据库中生成的表名称  默认  app名称 + 下划线 + 类名
	db_table = "table_name"    # 自己指定创建的表名
	
	# 2.Django Admin 中显示的表名称
	verbose_name = "user"     # 在Django admin后台显示时表名是users

	# 3.verbose_name 加s
	verbose_name_plural = "user"   # 如果这个字段也是user,那么4中表名才会显示user

	# 4.联合唯一索引
	unique_together = (("name", "cls"),)

	# 5.联合索引  (缺点是最左前缀, 写SQL语句基于password时不能命中索引, 查找慢。
	# 如:select * from tb where password = "xxx"  就无法命索引)
	index_together = [
		("name", "cls"),
]

1.2常用字段

from django.db import models

class UserGroup(models.Model):
	uid = models.AutoField(primary_key = True)
	
	name = models.CharField(max_length = 32, null = True, blank = True)
	email = models.EmailField(max_length = 32)
	text = models.TextField()

	ctime = models.DateTimeField(auto_now_add = True)  # 只有添加时才会更新
	uptime = models.DateTimeField(auto_now = True)   # 只要修改就会更新时间

	ip1 = models.IPAddressField()   # 字符串类型,Django Admin以及ModelForm中提供验证 IPV4 机制
	ip2 = models.GenericIPAddressField()   # 字符串类型,Django Admin以及 ModelForm中提供验证 Ipv4和Ipv6

	active = models.BooleanField(default = True)
	data01 = models.DateTimeField()  # 日期+时间格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]
	data02 = models.DateField()    # 日期格式 YYYY-MM- DD d
	data03 = models.TimeField() # 时间格式  HH:MM[:ss[.uuuuuu]]

	age = models.PositiveIntegerField()   # 正小整数 0 ~ 32767
	balance = models.SmallIntegerField()   # 小整数 -32768 ~ 32767
	money = models.PositiveIntegerField()   # 正整数 0 ~ 2147483647
	bignum = models.BigIntegerField()   # 长整型(有符号的) -9223372036854775808 ~ 9223372036854775807
	
	user_type_choices = (
		(1, "超级用户"),
		(2, "普通用户")(3, "普普通用户")
	)
	user_type_id = models.IntegerField(choices = user_type_choices, default = 1)

1.3字段参数

null --------------------- # 数据库中字段
blank ------------------------ # 表单验证可以为空
default ------------------------ # 数据库中字段的默认值
primary_key------------------------ # 数据库中字段是否为主键
db_index ------------------------ # 数据库中字段是否可以建立索引
unique ------------------------ # 数据库中字段是否可以建立唯一索引

2.一对多

2.1一对多基本操作(增删改查)

2.1.1 models.py
from django.db import models

class UserInfo(models.Model):
	name 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值