日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Django 解決阿里云部署同步數(shù)據(jù)庫報錯的問題

瀏覽:226日期:2024-10-07 10:39:26

寫在最前面:

在阿里云租了一臺服務(wù)器,搭建了一個博客,采用的是Ubuntu+Django+uwsgi+nginx+mysql的結(jié)構(gòu)。

運(yùn)行了一段時間后,我發(fā)現(xiàn)我忘記了django自帶后臺的密碼!

然后很常規(guī)的修改密碼的操作,就是無法登陸!

然后想再創(chuàng)建一個超級用戶,登上去看看什么情況,結(jié)果創(chuàng)建超級用戶又報錯?

可是本地環(huán)境是ok的,然后同步數(shù)據(jù)庫出錯。。。反正沒有對的。

然后同步數(shù)據(jù)庫報錯如下:

Django 解決阿里云部署同步數(shù)據(jù)庫報錯的問題

手機(jī)端截的圖,查了一下報錯,應(yīng)該是setting.py的配置問題,然后我把生產(chǎn)上的代碼拿下來看了下。

如下:

STATIC_URL = ’/static/’STATIC_ROOT = os.path.join(BASE_DIR, ’static’)STATICFILES_DIRS = ( os.path.join(BASE_DIR, ’static’), #os.path.join(os.path.dirname(__file__), ’../static/’).replace(’’, ’/’),)

這里要注意,STATIC_ROOT和STATICFILES_DIRS只要配置一個就可以!

如果非要同時配置

請將

STATIC_ROOT = os.path.join(BASE_DIR, ’static’)

改為

STATIC_ROOT = os.path.join(BASE_DIR, ’/static/’)

然后同步數(shù)據(jù)庫

接下來創(chuàng)建超級用戶也沒有問題了

登錄到admin后臺一看,原來的那個賬號權(quán)限被關(guān)了。。。怪不得怎么修改密碼都沒有用。

有空會詳細(xì)講講我在阿里云部署Django的過程。

補(bǔ)充知識:django2.0 foreignKey提示on_delete

據(jù)說在django2.0之前創(chuàng)建外鍵foreignKey的參數(shù)on_delete是有默認(rèn)值的,所以這個參數(shù)可以不用填,但在2.0之后on_delete沒有默認(rèn)值了,所以這個參數(shù)一定要傳,不然就報以下的錯:

TypeError: __init__() missing 1 required positional argument: on_delete

所以現(xiàn)在就來說一下關(guān)于這個on_delete要傳的參數(shù)所代表的含義

on_delete=None, # 刪除關(guān)聯(lián)表中的數(shù)據(jù)時,當(dāng)前表與其關(guān)聯(lián)的field的行為

on_delete=models.CASCADE, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)也刪除

on_delete=models.DO_NOTHING, # 刪除關(guān)聯(lián)數(shù)據(jù),什么也不做

on_delete=models.PROTECT, # 刪除關(guān)聯(lián)數(shù)據(jù),引發(fā)錯誤ProtectedError

# models.ForeignKey(’關(guān)聯(lián)表’, on_delete=models.SET_NULL, blank=True, null=True)

on_delete=models.SET_NULL, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)的值設(shè)置為null(前提FK字段需要設(shè)置為可空,一對一同理)

# models.ForeignKey(’關(guān)聯(lián)表’, on_delete=models.SET_DEFAULT, default=’默認(rèn)值’)

on_delete=models.SET_DEFAULT, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)的值設(shè)置為默認(rèn)值(前提FK字段需要設(shè)置默認(rèn)值,一對一同理)

on_delete=models.SET, # 刪除關(guān)聯(lián)數(shù)據(jù),

a. 與之關(guān)聯(lián)的值設(shè)置為指定值,設(shè)置:models.SET(值)

b. 與之關(guān)聯(lián)的值設(shè)置為可執(zhí)行對象的返回值,設(shè)置:models.SET(可執(zhí)行對象)

例,創(chuàng)建一對多外鍵

class UserType(models.Model): caption = models.CharField(max_length=32) class UserInfo(models.Model): user = models.CharField(max_length=32) email = models.EmailField() user_type = models.ForeignKey(to='UserType',to_field='id',on_delete=models.CASCADE)

創(chuàng)建外鍵后,直接用models.xxxx.objects.create()創(chuàng)建數(shù)據(jù)時需要注意,外鍵這個值需要傳關(guān)聯(lián)表的對象,如下:

class UserType(models.Model): caption = models.CharField(max_length=32) class UserInfo(models.Model): user = models.CharField(verbose_name=’用戶’, max_length=32) email = models.EmailField() user_type = models.ForeignKey(to='UserType',to_field='id',on_delete=models.CASCADE)-----------上面是的是在models.py,下面的是在views.py-------------def test(requset): ut = models.UserType.objects.filter(id=1).first() #print(ut) models.UserInfo.objects.create(user=’小明’,email=’abc@163.com’,user_type=ut) return HttpResponse(’ok’)

一對多的繼承代碼:

class ForeignKey(ForeignObject): def __init__(self, to, on_delete, related_name=None, related_query_name=None, limit_choices_to=None, parent_link=False, to_field=None, db_constraint=True, **kwargs): super().__init__(to, on_delete, from_fields=[’self’], to_fields=[to_field], **kwargs)

創(chuàng)建一對一

OneToOneField(ForeignKey) to, # 要進(jìn)行關(guān)聯(lián)的表名 to_field=None # 要關(guān)聯(lián)的表中的字段名稱 on_delete=None, # 當(dāng)刪除關(guān)聯(lián)表中的數(shù)據(jù)時,當(dāng)前表與其關(guān)聯(lián)的行的行為 ###### 對于一對一 ###### # 1. 一對一其實(shí)就是 一對多 + 唯一索引 # 2.當(dāng)兩個類之間有繼承關(guān)系時,默認(rèn)會創(chuàng)建一個一對一字段 # 如下會在A表中額外增加一個c_ptr_id列且唯一:class C(models.Model):nid = models.AutoField(primary_key=True)part = models.CharField(max_length=12) class A(C):id = models.AutoField(primary_key=True)code = models.CharField(max_length=1)

一對一的繼承代碼:

class OneToOneField(ForeignKey): def __init__(self, to, on_delete, to_field=None, **kwargs): kwargs[’unique’] = True super().__init__(to, on_delete, to_field=to_field, **kwargs)

創(chuàng)建多對多

方式一:自定義關(guān)系表

class Host(models.Model): nid = models.AutoField(primary_key=True) hostname = models.CharField(max_length=32,db_index=True) ip = models.GenericIPAddressField(protocol='ipv4',db_index=True) port = models.IntegerField() b = models.ForeignKey(to='Business', to_field=’id’) # 10class Application(models.Model): name = models.CharField(max_length=32) # 2 class HostToApp(models.Model): hobj = models.ForeignKey(to=’Host’,to_field=’nid’) aobj = models.ForeignKey(to=’Application’,to_field=’id’) # HostToApp.objects.create(hobj_id=1,aobj_id=2)這里可以直接對第三張表直接操

方式二:自動創(chuàng)建關(guān)系表

class Host(models.Model): nid = models.AutoField(primary_key=True) hostname = models.CharField(max_length=32,db_index=True) ip = models.GenericIPAddressField(protocol='ipv4',db_index=True) port = models.IntegerField() b = models.ForeignKey(to='Business', to_field=’id’) # 10class Application(models.Model): name = models.CharField(max_length=32) r = models.ManyToManyField('Host') --------------> appname_application_r 表名

無法直接對第三張表進(jìn)行操作

只能間接操作————————————————————

obj = models.Application.objects.get(id=1)obj.name # 第三張表操作:HostToApp table 基于id=1的Application添加對應(yīng)關(guān)系obj.r.add(1)增obj.r.add(2)obj.r.add(2,3,4)obj.r.add(*[1,2,3,4]) obj.r.remove(1) 刪obj.r.remove(2,4)obj.r.remove(*[1,2,3]) obj.r.clear() 清除app_id =1 的列 obj.r.set([3,5,7]) 改set將原來數(shù)據(jù)庫中的關(guān)系先全部刪除,在添加1-3,1-5,1-7——————————————————————————# 所有相關(guān)的主機(jī)對象“列表” QuerySetobj.r.all() obj.filter() obj.first()

前端取

{%for app in app_list%} <tr> <td>{{app.name}}</td> <td>{{app.r.all}}</td> </tr> {%endfor%}

多對多的繼承代碼:

class ManyToManyField(RelatedField): def __init__(self, to, related_name=None, related_query_name=None, limit_choices_to=None, symmetrical=None, through=None, through_fields=None, db_constraint=True, db_table=None, swappable=True, **kwargs): super().__init__(**kwargs)

以上這篇Django 解決阿里云部署同步數(shù)據(jù)庫報錯的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩一区自拍| 欧美午夜精彩| 午夜欧美理论片| 91视频久久| 亚洲精品麻豆| 久久午夜影视| 狠狠久久婷婷| 亚洲深爱激情| 亚洲欧美激情诱惑| 亚洲免费观看| 91精品国产自产在线观看永久∴| 国产精品成久久久久| 精品欧美日韩精品| 国产免费播放一区二区| 欧美一级全黄| 国产精品1luya在线播放| 欧美中文一区| 欧美欧美黄在线二区| 国产精品色婷婷在线观看| 国产日韩视频| 国产一区二区三区不卡视频网站| 97精品一区| 久久精品高清| av不卡免费看| 免费久久精品视频| 最新亚洲国产| 久久国产乱子精品免费女| 久久av国产紧身裤| 中文字幕成在线观看| 欧美sm一区| 偷拍欧美精品| 亚洲精品在线二区| 欧美一区网站| 91视频一区| 欧美精品一区二区久久| 羞羞答答国产精品www一本| 亚州av日韩av| 久久久精品区| 极品日韩av| 日韩精品一二三四| 日韩**一区毛片| 国际精品欧美精品| 99国产一区| 7777精品| 成人亚洲一区二区| 狠狠干成人综合网| 欧美日一区二区三区在线观看国产免| 荡女精品导航| 亚洲综合不卡| 国产免费播放一区二区| 日本少妇一区| 中文字幕亚洲影视| 久久99青青| 欧美jjzz| 国产精品一级| 久久久噜噜噜| 亚洲不卡视频| 日韩精品永久网址| 免费在线观看一区二区三区| 国产欧美高清视频在线| 久久人人97超碰国产公开结果| 久久国产精品久久w女人spa| 国产精品久久久久久妇女 | 亚洲v在线看| 亚洲乱码久久| 98精品久久久久久久| 国产精品嫩草99av在线| 国产欧美一级| 欧美亚洲在线日韩| 亚洲精品伦理| 亚洲伦乱视频| 国产日韩一区二区三区在线| 99久久久久国产精品| 日本午夜免费一区二区| 99精品视频在线观看免费播放| 日韩一区二区三区精品| 欧美日韩视频免费观看| 人人爱人人干婷婷丁香亚洲| 午夜精品一区二区三区国产| 欧美91在线| 中文字幕亚洲精品乱码| 日韩精品看片| 免费在线播放第一区高清av| 免费久久精品视频| 人在线成免费视频| 欧美天堂在线| 蜜臀国产一区二区三区在线播放| 日韩中文首页| 久久av影院| 青青国产精品| 性欧美精品高清| 999国产精品999久久久久久| 国产精品密蕾丝视频下载| 久久精品国产亚洲一区二区三区| 欧美日韩精品免费观看视频完整| 美女久久久久久| 麻豆久久精品| 99国产精品一区二区| 91午夜精品| 97精品一区| 一本综合精品| 国产综合欧美| 久久这里只有| 综合色一区二区| 精品女同一区二区三区在线观看| 日本中文字幕视频一区| www成人在线视频| 国产精品亚洲四区在线观看 | 不卡一区综合视频| 久久av偷拍| 国产高清一区| 精品72久久久久中文字幕| 人人爽香蕉精品| 桃色一区二区| 国产欧美日韩精品一区二区免费 | 久久69成人| 免费美女久久99| 精品国产美女a久久9999| 99视频在线精品国自产拍免费观看| 狠狠久久伊人| www.九色在线| 国产精品xxx在线观看| 久久亚洲欧洲| 国产精品99免费看| 国产精品丝袜在线播放| 亚洲深爱激情| 欧美福利一区| 中文字幕在线视频网站| 国产一区二区视频在线看| 久久精品99国产精品日本| 免费精品视频| 国产精品88久久久久久| 国产乱人伦丫前精品视频| 日本亚洲最大的色成网站www| 亚洲成人日韩| 亚洲三级av| 性欧美长视频| 偷拍欧美精品| 日韩中文影院| 国产欧美一区二区三区米奇 | 色狠狠一区二区三区| 久久亚洲二区| 一区免费视频| 女同性一区二区三区人了人一| 欧美国产小视频| 国产在线|日韩| 国产精品久久久久av电视剧| 精品国产亚洲日本| 精品国产精品久久一区免费式 | 精品中国亚洲| 国产伊人久久| 国产精品红桃| 欧美日韩一视频区二区| 午夜精品影视国产一区在线麻豆| 欧美va亚洲va日韩∨a综合色| 国产亚洲人成a在线v网站| 日韩av影院| 欧美一区在线观看视频| 日韩精品成人| 美女精品久久| 久久久亚洲欧洲日产| 国产精品视频首页| 免费在线观看一区| 国产一区二区三区视频在线| 精品国产一区二| 国产精品国产一区| 97精品久久| 夜夜嗨一区二区三区| 亚洲免费在线| 日本在线视频一区二区| 日本视频一区二区| 四季av一区二区凹凸精品| 亚洲精品永久免费视频| 久久久久一区| 黄色日韩精品| 国产欧美激情| 久久久久久一区二区| 久久精品亚洲人成影院| 欧美1区2区3区| 激情91久久| 日韩精品国产精品| 国产欧美日韩视频在线| 久久99久久久精品欧美| 日韩黄色大片| 蜜桃av一区二区| 国产欧美一区二区色老头| 国产一区二区三区黄网站| 99视频一区| 日韩超碰人人爽人人做人人添| 91成人在线网站| 97精品在线| 亚洲精品亚洲人成在线观看| 国产精品久久乐| 日本а中文在线天堂| 午夜欧美理论片| 国产亚洲电影| 日韩高清成人| 国产精品极品| 久久视频精品| 欧美日韩国产一区二区在线观看|