日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

django存入mysql数据库_django如何存数据到一个mysql数据表里面

發布時間:2023/12/20 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django存入mysql数据库_django如何存数据到一个mysql数据表里面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓我們聊聊這個話題, django如何存數據至mysql數據表里面,你會用什么方法?正常情況下,我們form邏輯處理后,直接form.save(),是,這個方法沒毛病;但有沒有其他的方法呢?假如我們有這樣一個需要,比如說,我們我們現在有100臺服務器要進行一個部署代碼的操作,那么每個服務器的操作我們都要在數據庫里面做記錄,以便我們審記時好追溯!此時,使用form.save方法好像不能滿足需求的,這就需要使用方法二的方法,如下演示:

方法一:

if form.is_valid():

......

new_form = form.save(commit=False)

new_form.fun = 'p2p.scp'

new_form.deploy_path = deploy_path

new_form.operate = operate

new_form.status = status

new_form.context = json.dumps(context, sort_keys=True)

new_form.save()

form.save()

方法二:

def do_copy_control(**kwargs):

target_server = get_target_server()

while target_server:

command = "/usr/bin/python /data/agent_scripts/scp_agent.py %s %s %s %s %s %s %s %s" % (

kwargs['source_server'].networks.private_address,

kwargs['source_server'].superuser,

kwargs['source_server'].superuser_pass,

kwargs['source_path'], kwargs['deploy_path'], kwargs['release_abs_path'],

kwargs['compress_file'], kwargs['md5sum']

)

data = {

'expr_form': 'list',

'client': 'local',

'fun': 'cmd.run',

'tgt': target_server.host_name,

'arg': command,

}

salt = SaltApi()

salt.get_token()

header = salt.get_header()

context = process(header, **data)

if regex_match_error(json.dumps(context)) is True:

status = True

else:

status = False

# save to mysql

storage_dict = {

'operate': kwargs['operate'],

'timestamp': datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),

'client': 'local',

'use_zone': kwargs['use_zone'],

'fun': 'cmd.run',

'deploy_path': kwargs['deploy_path'],

'release_path': kwargs['release_abs_path'],

'content': kwargs['content'],

'status': status,

'context': context,

'departments_id': kwargs['departments_id'],

'repository_name_id': kwargs['repository_name_id'],

'zones_id': kwargs['zones_id'],

}

storage = Release.objects.create(**storage_dict)

for item in kwargs['server']:

storage.tgt.add(item)

logging_out("source_server: %s target_server: %s result: %s" % (kwargs['source_server'].host_name,

target_server.host_name, context))

if regex_match_error(context):

thread = threading.Thread(target=do_copy_control, kwargs=kwargs)

thread.start()

else:

add_error_list(target_server.host_name)

target_server = get_target_server()

storage = Release.objects.create(**storage_dict),storage_dict就是我們每行的數據, Release.objects.create()是存入數據庫的方法,而storage.tgt.add則是對manytomany的外鍵進行一個處理!

總結

以上是生活随笔為你收集整理的django存入mysql数据库_django如何存数据到一个mysql数据表里面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。