1.自定义表名
Django 建表默认会以 app_name + Class_name
解决方法
#coding:utf8 from django.db import models from datetime import datetime # Create your models here. class Datasets(models.Model): app_id = models.ForeignKey(App) app_name = models.CharField(verbose_name='应用名', max_length=32, db_column='app_name2') id = models.AutoField(auto_created=True, primary_key=True, default=1) user_name = models.CharField(max_length=128) begin_date = models.DateTimeField() time = models.CharField(max_length=32) interface = models.CharField(max_length=128) datasets = models.CharField(max_length=128) class Meta: """ 其中db_column指定了对应的字段名,db_table指定了对应的表明; 如果不这样指定,字段名默认为app_name, 而表明默认为app名 +类名: [app_name]_info. verbose_name指定在admin管理界面中显示中文; verbose_name表示单数形式的显示,verbose_name_plural表示复数形 式的显示;中文的单数和复数一般不作区别。 """ db_table = 'datasets' verbose_name = '数据集' verbose_name_plural = '数据集'
2.修改表结构
有时修改了models.py在
执行 python manage.py makemigrations appname 会提示 Operations to perform: Apply all migrations: monitor Running migrations: No migrations to apply. 解决方法 1.select * from django_migrations ; 删除 该models所属的应用记录 2.删除建表记录3.python manage.py makemigrations appname
python manage.py migrate appname