django models.py增加后MySQL数据库中并没有生成相应的表

这里是models里的配置
class Category(models.Model):

name = models.CharField(max_length=64,unique=True)      
brief = models.CharField(null=True,blank=True,max_length=255)      
set_top_menu = models.BooleanField(default=False)       
position_index = models.SmallIntegerField()     
admins = models.ManyToManyField('UserProfile',blank=True)   

def __unicode__(self):
    return self.name

class UserProfile(models.Model):

user = models.OneToOneField(User)       
name = models.CharField(max_length=64)      
signature = models.CharField(max_length=255,null=True,blank=True)  
head_img = models.ImageField(height_field=150,width_field=120)      

def __unicode__(self):
    return self.name
    
    
    

下面是setting里的配置
DATABASES = {

'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'bbs',
    'USER': 'root',
    'PASSWORD': 'python',
    'PORT': '3306',
    'HOST': '10.16.19.26',
    
    

下面是同步的结果
C:UsersdandanDesktopminibbs>Python manage.py makemigrations
No changes detected

C:UsersdandanDesktopminibbs>Python manage.py migrate
Operations to perform:
Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
No migrations to apply.

C:UsersdandanDesktopminibbs>

下面是数据库中的表,没有同步过去

clipboard.png

阅读 4.2k
2 个回答

检查一下models所在的目录有没有添加到setting的INSTALLED_APPS里

你可以将models所在的文件中有一个migrations文件夹把除了 __init__.py文件以外都删除了,然后再执行makemigrations和migrate,就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题