1、32 字节:
如果中文utf8 可以存10个汉字(一个汉字3个字节)。
数字、英文 占一个字节。
2、把字节弄成定制名
verbose_name='中文'
3、数据库的配置:
settiins里配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'crm',
'USER': 'root',
'PASSWORD': None,
'HOST': '127.0.0.1',
'PORT': '3306',
在init里配置
import pymysql
pymysql.install_as_MySQLdb()
3、django自带的User
生成了user后就能直接使用{{request.user}}拿到用户名
from django.contrib.auth.models import User
class UserProfile(models.Model):
'''账号表'''
user=models.OneToOneField(User,on_delete=models.CASCADE)
name=models.CharField(max_length=32)
roles=models.ManyToManyField('Role',blank=True)
def __str__(self):
return self.name
获得models定义的verbose_name_plural:admin_class.model._meta.verbose_name_plural
通过表名得到:app名字:admin_class.model.._meta.app_label
通过表名得到类名:admin_class.model.._meta.model_name
类._meta.get_field(column) 得到column的字段对象
field_obj.choices 判断是否有choices字段,.choices得到的是‘(1,未报名)’之类的数据,无,得到个()
field_obj.get_choices() 不仅能拿到choices还是拿到外键的value
get_**_display:得到choice的value的值
get_internal_type() :得到他的类型
type(column_data).name == 'datetime': 判断他得类型

time.png
得到当前路径:request.path
得到前路径并修改已有部分:request.path.replace('/add/','/')
%s拼接另外 的方法format
column_data = "<a href='{request_path}{obj_id}/change/'>{data}</a>".format(request_path=request.path,
obj_id=obj.id,
data=column_data)