Django(八): Model组件和Admin

Model组件: 
(字段)作用: 1. 后端建表
2. 限制并验证admin输入的数据类型
使用: models.py中创建表
每一张表是一个类class, 表的每一项数据是这个类的对象obj
class Table(model.Models):
field = model.Field

1. Field类型: 1) 后端数据库有的字段 2) Admin额外提供验证的字段

字段名 参数 数据库中存储类型
/*************** 后端数据库有的字段 **************************/
AutoField(Field) primary_key # INT PRIMARY KEY AUTO_INCREMENT
IntegerField(Field) / # INT
BooleanField(Field) / # TINYINT(1)
CharField(Field) maxlength # VARCHAR(max_length)
FloatField(Field) / # DOUBLE
DecimalField(Field) max_digits(总位数) # DECIMAL
decimal_places(小数位长度)
TextField(Field) / # LONGTEXT
DateField(Field) / # DATE // YYYY-MM-DD
DateTimeField(DateField) / # DATETIME // YYYY-MM-DD HH:MM:SS
TimeField(DateField) / # TIME // HH:MM:SS

/**************** Admin额外提供验证的字段 **********************/
EmailField(CharField) / # VARCHAR
URLField(CharField) / # VARCHAR
IPAddressField(Field) / # CHAR(15)
FileField(Field) upload_to='地址' # VARCHAR
ImageField(FileField) upload_to='相对根地址的路径' # VARCHAR
width_field=None, height_width=None

Model字段参数的作用:
1. 限制约束数据
null = False # NOT NULL
default = None # DEFAULT = None
primary_key = True # PRIMARY KEY
unique = True # UNIQUE
db_index = True # INDEX

2. 用于admin显示
verbose_name # admin中显示的字段名
help_text # admin中显示的帮助信息
choices = [(0,'上海'),(1,'北京'),] # admin中的选择框
blank # admin中是否可为空
editable # admin中是否可编辑

3. 错误信息反馈
error_messages = {
'字段参数':'错误反馈',
'invalid': '格式错误', # 正则校验错误
}
4. 自定义验证
validators = []
元信息:
class UserInfo(models.Model):
nid = models.AutoField(primary_key=True)
user = models.CharField(max_length=20)
class Meta:
db_table = 'table_name' # 数据库中的自定义表名字
index_together = [('nid','user')] # 建立联合索引
unique_together = [('nid','user')] # 建立联合唯一索引
verbose_name = 'table_name' # admin中显示的表名字


Admin: 数据库管理
LANGUAGE_CODE = 'en-us' #LANGUAGE_CODE = 'zh-hans' // 配置中文界面
python manage.py create superuser // 注册管理员

1. 注册modeladmin: 1) admin.site.register(Book)
2) @admin.register(Book)

2. admin定制: 1) class myAdmin(admin.ModelAdmin)
2) @admin.register(Book,myAdmin)
 

转载于:https://www.cnblogs.com/lancelotxly/p/10871794.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值