日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

django數據庫遷移migration實現_python

作者:苗苗大佬 ? 更新時間: 2022-04-25 編程語言

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(''))

? ? ? ? self.assertIn('To-Do lists',html)

? ? ? ? self.assertTrue(html.endswith('))

?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

原文鏈接:https://blog.csdn.net/weixin_39349045/article/details/123034530

欄目分類
最近更新