當前位置:首頁 » 操作系統 » django更新資料庫

django更新資料庫

發布時間: 2023-04-12 04:40:25

❶ django1.5.4資料庫,auto_now時間不能自動更新

由於django官方解釋:

❷ django怎麼使用本機mysql資料庫

step 1:

修改你的django project目錄下的settings.py 文件至如下所示:

其中,'NAME' 對應的 『db_name' 是你事先使用mysql
的命令行提示符創建的資料庫名稱。注意:在django使用資料庫之前,你必須先創建出資料庫,否則會報錯。'USER'對應的'username'
還有 'PASSWORD' 對應的『passwd'
就是你在mysql中創建的用戶名和密碼。如果你有多個的話,隨便填一個就好。'HOST'和'PORT'默認都可以不填。

題外話: 使用用戶名和密碼登錄mysql的方法:

首先,你需要進入 mysql/bin的目錄下,也可以在.bash_profile中設置環境變數:

PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/

再在prompt輸入 mysql -u username -p, 回車後再輸入 passwd即可

step 2:

然後,在manage.py路徑中使用python manage.py syncdb 試試,結果會提示你錯誤找不到 MySQLdb 這個mole, 為什麼呢, 因為 python manage.py syncdb 命令是這樣工作的:

1. 在project目錄的settings.py的INSTALLED_APPS元組中找到可能需要更新的APP。

2. 找到每一個APP目錄中的models.py (關系定義文件),並針對變化在資料庫中進行更新。

說了這么多,前面那個錯誤 找不到 mole MySQLdb 是什麼意思啊 ?

先給個圖,再解釋:

因為在models.py中定義關系使用的是python,而真正在資料庫中操作形成model當然一定要用sql語句,所以必須要有一些功能模塊
來把python語句轉化成sql語句。如果你使用sqlite的話,由於sqlite和轉化模塊都已經由python內置了,所以直接使用不會發生錯
誤。但是 」mysql語句的轉化模塊「 就需要你手動載入了,這些模塊放在 MySQL-python 中。

我是使用pip 安裝的:

安裝了之後,再使用 python manage.py syncdb就OK啦。

我使用的系統是 OS X,下面是 mysql 默認的安裝路徑

/usr/local/Cellar/mysql/5.6.22/

如果你想知道你的資料庫文件是放在哪裡的,你可以查看mysql_config文件中的ldata變數,這個變數的值就是 默認的資料庫文件夾存儲的路徑。 我的系統中,mysql_config的完整路徑是 :

/usr/local/Cellar/mysql/5.6.22/bin/mysql_config

❸ django修改了setting的資料庫怎麼同步

修改setting.py裡面的DATABASES元組為
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的資料庫名稱
'USER': 'root', #你的資料庫用戶名
'PASSWORD': '', #你的資料庫密碼
'HOST': '', #你的資料庫主機,留空默認為localhost
'PORT': '3306', #你的資料庫埠
}
}

INSTALLED_APPS = (
'books',#你的資料庫名稱
)

在mysql裡面創建books資料庫

檢查配置是否有語法錯誤

使用python manage.py sqlall books 顯示mysql語法

使用python manage.py syncdb同步模型中的資料庫

7
創建成功!

❹ models.py中增加了欄位,django中怎樣更新

如果你是使用django1.7以上,那麼自帶migrations功能,可以在生成遷移文件後,打開0001_initial.py(類似這樣的文件, 需要與你對應的app關聯起來,就是models所在的路徑下中的migrations文件夾),然後修改裡面中models中對應的class model(),然後找到類似這個operations = [
migrations.CreateModel(...),
# mysql specific
migrations.RunSQL('纖族alter table 表名 auto_increment=9995'),#數據帶顫庫不同,語句可能不同
]

其實這個可以通過修改資料庫中的表進行操作。這樣比較快。自己多找點資毀行弊料吧。

❺ django中user擴展表中數據怎麼更新

在models.py 中增加如下擴展user的類:
#==================擴展用戶====================================
class UserProfile(models.Model):
user = models.OneToOneField(User)
major = models.TextField(default='', blank=True)
address = models.CharField(max_length=200,default='',blank=True)

def __unicode__(self):
return self.user.username

def create_user_profile(sender, instance, created, **kwargs):
"""Create the UserProfile when a new User is saved"""
if created:
profile = UserProfile()
profile.user = instance
profile.save()

#post_save.connect(create_user_profile, sender=User)
""" 不明白的是,我一定注釋掉上面這一行,才不會出錯,否則會有Duplicate entry '2' for key 'user_id'") ,看意思是,重復了,但不明白為什麼重復,注釋掉上面的之後,一切正常,但與官方文檔又有差異了,迷惑中"""
#==================擴展用戶結束================================12345678910111213141516171819

還需要修改admin.py
"""用戶模塊擴展"""
class ProfileInline(admin.StackedInline):
model = UserProfile
#fk_name = 'user'
max_num = 1
can_delete = False

class CustomUserAdmin(UserAdmin):
inlines = [ProfileInline,]

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
"""用戶模塊擴展"""12345678910111213

修改settings.py 的配置,增加
"""用戶模塊擴展部分"""
AUTH_PROFILE_MODULE = 'djangoadmin.myadmin.UserProfile'
"""用戶模塊擴展完成"""123

按照官方的解釋,這里是app label加上擴展類的名字. 應該也就是創建的app的名字,官方推薦的方式就兩個部分用」.」連接起來,我這里有三個部分,也沒有報錯。
然後運行 python manage.py syncdb ,這是會在資料庫中創建響應的表,並且有user_id這個外鍵欄位.
最後,我們來運行一下程序,並進入到增加用戶旦拿界面中,你會發現,你擴展的欄位都顯示出來了
每次增加用戶,都會在擴展的表中增加相應的渣察數據,修改的時候,也會修改響相應的數據,通過 user_id 來關模梁搭聯,這樣就完成了user model的擴展。
如果要獲取擴展表中的內容,可以通過 request.user.get_profile().address 這種方式來獲取. 得到 User對象後,就能很方便的得到擴展的類.

❻ Django如何更新資料庫

最簡單的辦法是。為資料庫的表建立一個model。具體做法是這樣子。
1.在settings.py里設置資料庫連接方式。連接錯誤後面都沒有辦法
2.在models設置一個資料庫表的對應數據結構,通常叫關系對象模型,所以叫model,它就是一個類。你可以用django-admin.py ...probe,似乎是這個命令,就是一個資料庫的探測命令,可以根據表,自動生成model的代碼。當然如果你先寫了model的代碼就可以用syncdb命令生成資料庫的表
3.在urls.py里設置一個URL的path,當瀏覽器訪問這個path時就可以打開對應的view中的函數
4.在view里
4.1 result=modelclass.objects.all()這個命令可以取出所有的記錄
4.2 然後你可以直接將結果傳遞給模板。由模板顯示。這是最合理的辦法

4.3 在模板里 {% for cols in result %}
4.4 <li>cols.field1</li>
大約就是這樣子。可能說的太粗。你對著教程看就知道了。

❼ django更新模型的部分欄位怎麼做

  1. 在class里更新欄位

  2. 運行python manage.py makemigrations記錄遷移

  3. 運行Pythonmanage.py migrate 將更新實施到資料庫表中

這個過程中可能會出現很多問題,比如已有的數據記錄怎麼更新,關聯的對象怎麼處理。詳細可參考劉江的博客和教程:liujiangblog-com

❽ pycharm+django怎麼同步資料庫

pycharm+django怎麼同步資料庫
如果是同一種資料庫的話,你同步的數據表結構是否相同,如果也相同的話,完全可以利用數據春消彎庫的同步復制機制來解決;
(做主從) 如果表結構不相同的話,如果不在應用層處理的話,有兩種方式參考:扒悶
1,A推數據給B;A有數據的時候,實時或非實時(採用event或trigger)將數據推到B中,B再做處理;
2,B從A拉數據,用一個event(mysql中的job)定時從A中拉數據然後進行處理;
另外可以選擇在應用層來做,這個我就不橋扮多介紹了,根據業務邏輯coding就行了。

❾ django1.8更改了model後要怎樣重建資料庫

目前到django1.7 為止

修改model的前提是:你已經創建完model,沒晌並且已經 使用 syncdb 或 migrate 創建了滑察慎相應的資料庫表信敬。
然後再 修改model,不會對資料庫表產生任何修改的。

具體的東西,自己去看 Django 相應版本的文檔去吧

不同版本,不太一樣。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:943
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371