精华内容
下载资源
问答
  • django数据库迁移
    千次阅读
    2022-01-20 10:48:49

     

    python manage.py createsuperuser #创建后台管理员

    python manage.py makemigrations app_name#生成数据库迁移文件,后面指定app_name:只针对这个app生成迁移脚本(也可以指定多个)也可以不指定单个APP,生成所有APP的迁移文件。

    python manage.py migrate # 将迁移文件内容写入数据库中,并生成数据库表

     

    更多相关内容
  • 首先数据库迁移的两大命令: python manage.py makemigrations & python manage.py migrate 前者是将model层转为迁移文件migration,后者将新版本的迁移文件执行,更新数据库。 这两中命令调用默认为全局,即对...
  • django数据库迁移

    千次阅读 2022-02-20 19:19:41
    django中,ORM(对象关系映射器—object-relational mapper)任务是:模型化数据库,创建数据库由另外一个系统负责(迁移–migration),迁移任务是根据对models.py文件的改动情况,添加或者删除表和列 依然报错 ...

    在django中,ORM(对象关系映射器—object-relational mapper)任务是:模型化数据库,创建数据库由另外一个系统负责(迁移–migration),迁移任务是根据对models.py文件的改动情况,添加或者删除表和列

    在这里插入图片描述
    依然报错
    在这里插入图片描述
    在这里插入图片描述
    models.py

    from django.db import models
    class Item(models.Model):
        text=models.TextField(default='')
    

    tests.py

    '''from django.test import TestCase
    
    # Create your tests here.
    class Smokeclass(TestCase):
        def test_bad_maths(self):
            self.assertEquals(1+1,3)'''''
    from  django.urls import  resolve
    from  django.test import  TestCase
    from lists.views import  home_page
    from django.http import  HttpRequest
    from lists.models import Item
    class HomePageTest(TestCase):
        def test_root_url_resolve_to_home_page_view(self):
            found=resolve('/')
            # resolve函数是django内部使用的函数,用于解析url,
            # 并且将其映射到相应的视图函数上,检查网站根路径时"/",
            # 是否能找到home_page函数
            self.assertEquals(found.func,home_page)
        def test_home_page_returns_correct_html(self):
            request=HttpRequest()
            # 创建httprequest对象,用户在浏览器中请求网页时
            # django看到的就是httprequest对象
    
            response=home_page(request)
            # 把对象传给home_page视图
    
            html=response.content.decode('utf8')
            # 提取content,得到结果是原始的字节,即发个用户
            # 浏览器的0和1,随后调用.decode(),把原始字节
            # 转换成发给用户的html字符串
    
            self.assertTrue(html.startswith('<html>'))
    
            self.assertIn('<title>To-Do lists</title>',html)
    
            self.assertTrue(html.endswith('</html>'))
        def test_home_page_returns_correct_html_chonggou(self):
            response=self.client.get('/')
            html = response.content.decode('utf8')
            # 提取content,得到结果是原始的字节,即发个用户
            # 浏览器的0和1,随后调用.decode(),把原始字节
            # 转换成发给用户的html字符串
    
            self.assertTrue(html.startswith('<html>'))
    
            self.assertIn('<title>To-Do lists</title>', html)
    
            self.assertTrue(html.endswith('</html>'))
            self.assertTemplateUsed(response,'home.html')
        def test_user_home_template(self):
            response=self.client.get('/')
            self.assertTemplateUsed(response,'home.html')
        def test_can_save_a_POST_request(self):
            response=self.client.post('/',data={'item_text':'a new list item'})
            self.assertIn('a new list item',response.content.decode())
            self.assertTemplateUsed(response, 'home.html')
    class ItemModelTest(TestCase):
        def test_saving_and_retrieving_items(self):
            first_item=Item()
            first_item.text="the first list item"
            first_item.save()
            second_item = Item()
            second_item.text = "the second list item"
            second_item.save()
            saved_items=Item.objects.all()
            self.assertEquals(saved_items.count(),2)
            first_saved_item=saved_items[0]
            second_saved_item=saved_items[1]
            self.assertEquals(first_saved_item.text,'the first list item')
            self.assertEquals(second_saved_item.text, 'the second list item')
    
    
    
    
    python manage.py makemigrations
    
    展开全文
  • django数据库迁移报错

    2022-08-05 15:24:31
    django数据库迁移报错

    数据库迁移过程中报错如下:

    django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE7\\x94\\xA8\\xE6\\x88\\xB7...' for column 'name' at row 1")

    原因:创建数据库时编码错误

    解决方案:删除数据库及迁移文件,重新创建库注意编码

     

    展开全文
  • Django数据库迁移问题

    千次阅读 2019-06-21 12:44:46
    一、数据库迁移问题 【问题一】 1. >> python3 manage.py makemigrations django.db.utils.InternalError: (1050, "Table 'django_admin_log' already exists") 2. 错误原因:在迁移文件0001中需要新建表...

    一、数据库迁移问题

    【问题一】

    1. >> python3 manage.py makemigrations
    django.db.utils.InternalError: (1050, "Table 'django_admin_log' already exists")

    2. 错误原因:在迁移文件0001中需要新建表django_admin_log,但是数据库中已存在一个原有的表

    3. 解决方案:

    (1) 将原有表删除即可: mysql>> drop table django_admin_log;

    (2) 重新迁移数据库: >> python3 manage.py migrate

    【问题二】

    1. >> python3 manage.py makemigrations

    ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'users.user', but app 'users' isn't installed

    2. 错误原因:新迁移的文件与旧的迁移文件冲突的问题

    3. 解决方案:

    删除旧的迁移文件,生成新的迁移文件回滚即可

    >> python3 manage.py makemigrations
    >> python3 manage.py migrate --fake users zero
    >> python3 manage.py migrate

    【问题三】

    1. >> python3 manage.py makemigrations

    ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'user.user',but app 'user' doesn't provide model 'user'.

    报错信息

    2. User实体类

    class User(AbstractUser): # 继承AbstractUser
        nickname = models.CharField(max_length=30,null=True,verbose_name='昵称')
        phone = models.CharField(max_length=30,null=True,unique=True,verbose_name='手机号')
        gender = models.CharField(max_length=10,choices=GENDER,default='1',null=True,blank=True,verbose_name='性别')
        usertype = models.IntegerField(choices=USERTYPE,default=2,verbose_name='用户类型') # 1表示卖家,2表示买家
        is_delete = models.BooleanField(default=False,verbose_name='是否禁用用户')
    
        def __str__(self):
            return self.username
    
        class Meta:
            db_table = 'user_user' # 数据库表名

    3. 错误原因:没有给继承自AbstractUser类的user实体类授权,需要在settings.py里配置

    4. 解决方案:

    (1) 在settings.py文件中添加user应用,并添加user授权

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'user',
    ]
    
    AUTH_USER_MODEL = 'user.User' # 指定user的模型, 应用.模型

    (2)  重新迁移数据库 

    >> python3 manage.py makemigrations
    >> python3 manage.py migrate

    可以参考>> ValueError in Django when running the “python manage.py migrate” command

    展开全文
  • django迁移 django迁移就是在django的models.py中创建数据库表,有django自己规定的数据库操作语法。 直接使用SQL非常麻烦,Django附带了一个对象关系映射器,简称ORM。...Django数据库迁移命令 以下摘自Taswy的博客:
  • django 数据库迁移指令

    2020-09-02 15:04:33
    user = models.OneToOneField('Userinfo') class Meta: abstract = True # 执行数据库迁移指令的时候,不会将这个类生成 # sales/models.py class UserInfo(User): username = models.CharField(max_length=16)...
  • 使用mysqlclient1、修改settings.py中的数据库配置文件DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'p_study_note_web','USER': 'root','PASSWORD': 'root','HOST': '127.0.0.1','PORT'...
  • 1 数据导出 python manage.py dumpdata 不指定 appname 时默认为导出所有的app python manage.py dumpdata [appname] > appname_data.json 指定appnamde 导出 指定app 的数据(比如...优点:可以兼容各种支持的数据库
  • django数据库迁移进阶

    2022-03-18 14:48:27
    django数据库迁移进阶 创建数据库表 或 更改数据库表或字段(可在SQL等数据库中创建与models.py代码对应的表) #编写models之后执行、更新了models.py需要执行如下命令 #创建更改的文件 pyhton manage.py ...
  • 我们在学习框架的时候不可避免的要用到数据库,所以框架主要就是和数据库打交道,但是在进行数据迁移的时候难免会出现一点小BUG,此以Django为例,进行二次数据库迁移的时候可能会出现迁移文件已经存在,迁移信息...
  • django 数据库迁移

    2021-10-31 17:21:56
    迁移Django同步你对模型所做更改(添加字段,删除模型等)到你的数据库模式的方式 1,添加模型类 应用的models.py from django.db import models # Create your models here. class Book(models.Model): ...
  • Django数据库迁移命令

    千次阅读 2021-06-29 19:13:54
    Django数据库迁移命令 当模型类写好之后我们通常要进行数据库的迁移才能在数据库中创建表 生成迁移文件 python manage.py makemigrations 同步到数据库中 python manage.py migrate 例如 (pythonvenv) C:\...
  • Django数据库迁移

    2021-02-01 02:04:39
    如果你用过Django数据库就会发现一个比较令人纠结的地方:数据库更改。我们知道添加或者删除一个models.Model 需要在数据库里相应的操作,这需要我们进入数据库命令行手动添加或删除,因为syncdb命令无法进行...
  • django 数据库迁移(migrate)

    万次阅读 2018-11-09 09:52:35
    首先数据库迁移的两大命令: python manage.py makemigrations &amp; python manage.py migrate 前者是将model层转为迁移文件migration,后者将新版本的迁移文件执行,更新数据库。 这两中命令调用默认为全局,...
  • Django数据库——迁移命令

    千次阅读 2021-07-23 12:46:09
    后面指定app_name:只针对这个app生成迁移脚本(也可以指定多个) python manage.py makemigrations app_name —name:指定迁移脚本的名称 python manage.py makemigrations --name book_migration —empty:...
  • 报错 raise MigrationSchemaMissing("Unable to create the django_migrations table (%...Django执行迁移生成表: python manage.py migrate 报错: raise MigrationSchemaMissing("Unable to create the djan...
  • Django中进行数据库迁移

    千次阅读 2022-01-06 09:23:00
    1修改数据库的配置 如果使用默认数据库,则可以不用修改。如果使用 mysql 数据库,则打开 settings.py 文件,修改 DATABASES 项。 ...2、使用MySQL数据库,...5、最后在数据库中去确认是否迁移成功,迁移成功会有..
  • Django数据库迁移可能出现的问题
  • Django 提供了ORM功能,我们可以直接在model中定义数据库表字段,然后通过python命令来帮助我们创建数据库表和对应的字段,这个过程就叫应用数据库迁移。例如我在model下创建了如下的内容; 具体参考这里:Django ...
  • 迁移数据库 为了让 django 完成翻译,创建好这些数据库表,我们再一次请出我的工程管理助手 manage.py。切换到 manage.py 文件所在的目录(项目根目录)下,分别运行 pipenv run python manage.py makemigrations 和...
  • Django 数据库迁移报 table already exists 数据库迁移时执行: python manage.py migrate --fake
  • 今天分享下 —— Django 数据库迁移到MySQL的一些基本知识,欢迎关注!(如果不成功记得评论留言我看到会回复你哦!) ????分享 默认 Django 数据库采用的是 sqlite3 ,想迁移到 mysql 数据库。 一、创建Mysql...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,409
精华内容 7,763
关键字:

django数据库迁移