Django建表

it2022-05-05  142

最近在学习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

 

转载于:https://www.cnblogs.com/whitehorse/p/6728738.html


最新回复(0)