正文
Django建表
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
最近在学习Django,遇到了些问题一起来看看吧。
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