天天看點

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.修改表結構

  執行

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.删除建表記錄

Django建表

python manage.py migrate appname

繼續閱讀