最近在學習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.修改表結構
執行
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.删除建表記錄
python manage.py migrate appname