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的外鍵進行一個處理!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453702.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453702.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453702.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Luogu】P3343地震后的幻想鄉(對積分概率進行DP)

題目鏈接 神難qwq。配合rqy的博客食用。 首先我們學到有一個概率函數$p(x)$表示某事件發生概率取值小于x的函數。這個函數有什么特點呢? 那就是$\int_{-∞}^{∞}p(x)dx1$ 這個是顯然的 然后我們令p(x)為首次聯通的時間的概率分布函數 這其實等價于生成樹的最大權邊等…

深度學習目標檢測之 YOLO v3

論文名:《YOLOv3: An Incremental Improvement》論文地址 https://pjreddie.com/media/files/papers/YOLOv3.pdfhttps://arxiv.org/abs/1804.02767v1 論文代碼 https://github.com/yjh0410/yolov2-yolov3_PyTorchkeras:https://github.com/qqwweee/keras…

30本pdf完整版的經典Linux學習和開發教程和資料下載 android arm java 資料大全

史上最牛的Linux內核學習方法論 點擊下載我的arm_linux移植筆記 點擊下載S3C2440完全開發流程 點擊下載Linux系統命令及其使用詳解完整版 點擊下載Linux主要shell命令詳解 點擊下載深入理解Linux內核(第三版 pdf英文版) 點擊下載深入分析Linux內核源代碼教程pdf完整版 點擊下…

Fedex Ship Manager Software安裝

本文出自Simmy的個人blog:西米在線 http://simmyonline.com/archives/552.html 這個軟件的安裝頗費了我一番周章,特地Log之。下載:http://www.fedex.com/apac_english/fsmsoftware/ 安裝完后,接著輸入用戶信息,然后連…

mysql5.7.11解壓版安裝_Mysql5.7.11在windows10上的安裝與配置(解壓版)

第一步my-default.ini 添加配置:#綁定IPv4和3306端bind-address 127.0.0.1port 3306# 設置mysql的安裝目basedir E:\mysql# 設置mysql數據庫的數據的存放目datadirE:\mysql\data# 允許最大連接數max_connections200#設置默認字符集為utf8default-character-setutf…

【轉】博客美化(3)為博客添加一個漂亮的分享按鈕

閱讀目錄 1.社會化分享2.選擇一個分享按鈕3.添加到博客園博客博客園美化相關文章目錄:博客園博客美化相關文章目錄 在前2篇博客“博客美化(1)基本后臺設置與樣式設置”與"博客美化(2)自定義博客樣式細節"中詳細介紹了博客樣式設置的相關問題,當…

深度學習目標檢測之 YOLO v4

論文原文:https://arxiv.org/abs/2004.10934代碼 原版c: https://github.com/AlexeyAB/darknetkeras:https://github.com/Ma-Dan/keras-yolo4pytorch:https://github.com/Tianxiaomo/pytorch-YOLOv4 前言 2020年YOLO系列的作者…

[Android] 年年有魚手機主題

自制的年年有魚手機主題,希望大家喜歡!~ 下載地址:https://yunpan.cn/cqauQbiM97idd (提取碼:d272) 本文轉自haiyang45751CTO博客,原文鏈接: http://blog.51cto.com/haiyang457/1…

mysql 小數做索引_10 分鐘掌握 MySQL 的索引查詢優化技巧

本文的內容是總結一些MySQL的常見使用技巧,以供沒有DBA的團隊參考。如無特殊說明,存儲引擎以InnoDB為準。MySQL的特點了解MySQL的特點有助于更好的使用MySQL,MySQL和其它常見數據庫最大的不同在于存在存儲引擎這個概念,存儲引擎負…

模塊與包

一 模塊介紹 1、什么是模塊? #常見的場景:一個模塊就是一個包含了一組功能的python文件,比如spam.py,模塊名為spam,可以通過import spam使用。#在python中,模塊的使用方式都是一樣的,但其實細說的話&#x…

Linux 狀態命令之 sar

簡介 sar(System Activity Reporter 系統活動情況報告)是目前 Linux 上最為全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告,包括:文件的讀寫情況、系統調用的使用情況、磁盤 I/O、CPU 效率、內存使用狀…

解決eclipse + pydev 編譯過程中有中文的問題

最近在學習python編程,開發環境設置好了,是用eclipse pydev 來做開發的環境,配置好了之后,需要解決的一個關鍵問題就是老問題了:如何解決代碼中的中文問題。。。 其實但我們在配置編程環境的時候,就需要設…

程序員的思考--終于確定了自己的技術發展方向

經過了將近5年的工作沉淀以后,終于確定了自己的職業發展方向。從現在開始終于可以有的放矢了,不再迷茫了。回想以往,找到這個方向,確實不是一件容易的事情,一路也是迷茫的走過來,隨著知識和工作經驗的積累&…

mysql正在運行安全文件怎么辦_MySQL服務器運行的安全文件化選項,所以它不能執行該語句什么情? 愛問知識人...

MySQL的事務支持不是綁定在MySQL服務器本身,而是與存儲引擎相關1。MyISAM:不支持事務,用于只讀程序提高性能 2。InnoDB:支持ACID事務、行級鎖、并發 3。Berkeley DB:支持事務一個事務是一個連續的一組數據庫操作&#…

C++項目參考解答:累加求圓周率

【項目-累加求圓周率】 用例如以下公式求π的近似值&#xff08;計算直到最后一項的絕對值小于10?5&#xff09; π41?1315?17...【參考解答】 #include <iostream> using namespace std; int main( ) {int n,sign;double total,f;n1;total0;sign1;f1; //用f代表待累加…

[ASP.NET AJAX]類似.NET框架的JavaScript擴展

最近AJAX風靡全世界&#xff0c;在CommunityServer中他運用了自己定義的封裝了js&#xff0c;并且可以跨瀏覽器&#xff0c;在較小的應用程序中&#xff0c;他比較適合&#xff0c;而且使用也比較簡單。但是對微軟的Microsoft AJAX還是一點不了解的我&#xff0c;從今天開始也要…

mysql 連接 指定字符集_關于Mysql連接池配置指定字符集的問題

問題是這樣的&#xff0c;我在寫一個網站&#xff0c;打算使用連接池。我使用J2EE開發&#xff0c;開始使用的是直連的方式&#xff0c;附上代碼public class ConnDb {private String getDriver "com.mysql.jdbc.Driver";private String getUrl "jdbc:mysql:/…

【原】iOS:手把手教你發布代碼到CocoaPods(Trunk方式)

概述 關于CocoaPods的介紹不在本文的主題范圍內&#xff0c;如果你是iOS開發者卻不知道CocoaPods&#xff0c;那可能要面壁30秒了。直奔主題&#xff0c;這篇文章主要介紹如果把你的代碼發布到CocoaPods代碼庫中&#xff0c;讓別人可以使用“pod search yourOpenProject”命令查…

kafka tool 查看指定group下topic的堆積數量_ELK架構下利用Kafka Group實現Logstash的高可用...

系統運維的過程中&#xff0c;每一個細節都值得我們關注下圖為我們的基本日志處理架構所有日志由Rsyslog或者Filebeat收集&#xff0c;然后傳輸給Kafka&#xff0c;Logstash作為Consumer消費Kafka里邊的數據&#xff0c;分別寫入Elasticsearch和Hadoop&#xff0c;最后使用Kiba…

jquery flot pie畫餅圖

具體效果如下&#xff1a; 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> 5 <title>Insert title here</title> 6 <script language"javas…