遇到的问题之如何更改默认的表名和字段名
1.如何更改django orm中的默认表名和字段名?
1.指定字段名: 在定义字段的时候,增加参数db_column=’real_field’;
2.指定表名: 在model的class中,添加Meta类,在Meta类中指定表名db_table
例如在某个models.py文件中,有一个类叫Info:
class Info(models.Model): ''''' 信息统计 ''' app_id = models.ForeignKey(App) app_name = models.CharField(verbose_name='应用名', max_length=32, db_column='app_name2') class Meta: db_table = 'info' verbose_name = '信息统计' verbose_name_plural = '信息统计'
其中db_column指定了对应的字段名,db_table指定了对应的表明;
如果不这样指定,字段名默认为app_name, 而表明默认为app名+类名: [app_name]_info.
verbose_name指定在admin管理界面中显示中文;verbose_name表示单数形式的显示,verbose_name_plural表示复数形式的显示;中文的单数和复数一般不作区别。
2.Form组件的使用?
3.django的restframework连接数据库:
STATICFIELDS=[ os.path.join("/static/",BASE_DIR), ] LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
连接数据库:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #通过这个去链接mysql 'NAME': 'day327', 'USER':'root', 'PASSWORD':'123', 'HOST':'localhost', 'PORT':'3306', } }
app里面需要加入:rest_framework
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config', 'rest_framework', ]
4.生成虚拟环境需要的软件:
pip freeze >requirements.txt
当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:
pip install -r requirements.txt