微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django 使用makemigrations/migrate数据库不生成表解决办法

问题:久没有使用django,在生成成表时,发现无法生成表。

相关目录如下:

repositiion/models.py代码

from django.db import models

# Create your models here.
from django.contrib.auth.base_user import AbstractBaseUser


class Users(AbstractBaseUser):
    name = models.CharField(max_length=30, verbose_name='姓名')
    phone = models.CharField(max_length=11, verbose_name='手机')
    qq = models.CharField(max_length=15, null=True, blank=True, verbose_name='QQ')
    wechat = models.CharField(max_length=30, verbose_name='微信')
    address = models.CharField(null=True, max_length=100, verbose_name='地址')
    source = models.CharField(null=True, max_length=30, verbose_name='来源')
    kNow_choice = ((1, '搜索引擎'), (2, '线下活动'),)
    kNow = models.SmallIntegerField(null=True, choices=kNow_choice, verbose_name='了解')
    reg_time = models.DateTimeField(auto_Now_add=True, verbose_name='注册时间')

    class Meta:
        db_table = 'users'
        verbose_name = "用户表"
        verbose_name_plural = verbose_name

使用命令makemigrations/migrate生成数据表:

python manage.py makemigrations
python manage.py migrate

结果:发现只生成django自带的表。

问题解决

第一种解决方法

使用django生成app,然后在models中添加表。

python manage.py startapp my_app

第二种解决方法

检查models.py所在app中是否缺少migrations文件夹。如果缺少,需要创建以下文件

my_app
    migrations
        __init__.py
    __init__.py
    models.py
    admin.py


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐