django数据库迁移migration实现

 更新时间:2022年02月21日 09:35:06   作者:苗苗大佬  
这篇文章主要介绍了django数据库迁移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>))

 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数据库迁移migration实现的文章就介绍到这了,更多相关django数据库迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一个月入门Python爬虫学习,轻松爬取大规模数据

    一个月入门Python爬虫学习,轻松爬取大规模数据

    利用爬虫我们可以获取大量的价值数据,从而获得感性认识中不能得到的信息,这篇文章给大家带来了一个月入门Python学习,爬虫轻松爬取大规模数据,感兴趣的朋友一起看看吧
    2018-01-01
  • python 类对象的析构释放代码演示

    python 类对象的析构释放代码演示

    这篇文章主要介绍了python 类对象的析构释放代码演示,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • python遍历一个目录,输出所有的文件名的实例

    python遍历一个目录,输出所有的文件名的实例

    下面小编就为大家分享一篇python遍历一个目录,输出所有的文件名的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python给微信好友定时推送消息的示例

    python给微信好友定时推送消息的示例

    今天小编就为大家分享一篇python给微信好友定时推送消息的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 在pycharm中文件取消用 pytest模式打开的操作

    在pycharm中文件取消用 pytest模式打开的操作

    这篇文章主要介绍了在pycharm中文件取消用 pytest模式打开的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Python Faker库基本用法详解

    Python Faker库基本用法详解

    Faker 是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍Python Faker库基本用法详解,感兴趣的朋友一起看看吧
    2025-04-04
  • 2022最新Python日志库logging总结

    2022最新Python日志库logging总结

    这篇文章主要介绍了2022最新Python日志库logging总结,Python logging 库设计的真的非常灵活,如果有特殊的需要还可以在这个基础的 logging 库上进行改进,创建新的 Handler 类解决实际开发中的问题,需要的朋友可以参考下
    2022-05-05
  • Python pandas对excel的操作实现示例

    Python pandas对excel的操作实现示例

    这篇文章主要介绍了Python pandas对excel的操作实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python实现邮件发送的详细设置方法(遇到问题)

    Python实现邮件发送的详细设置方法(遇到问题)

    这篇文章主要介绍了Python实现邮件发送的详细设置方法(遇到问题),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • python使用装饰器和线程限制函数执行时间的方法

    python使用装饰器和线程限制函数执行时间的方法

    这篇文章主要介绍了python使用装饰器和线程限制函数执行时间的方法,主要涉及timelimited函数的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论