created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
我的表格包含以下字段:
| id | created_at | updated_at |经度|纬度|
我手动在经度和纬度列中插入一些值,并希望每当我插入新记录时,created_date和updated_date字段都会更新。 这些记录是从Excel工作表中插入的。简单地说,我从excel获取值并使用mysqldb放入表中 我可以使用以下代码在没有django数据库的情况下执行此操作。
import MySQLdb #For database operations
import xlrd #For reading excel file
import time
book = xlrd.open_workbook('my_data.xlsx')
s1 = book.sheet_by_name('prasad')
db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'lmtech123',
db = 'server_db')
cur = db.cursor()
query = "insert into eyeway_devicedata(Longitude, Latitude) values(%s, %s)"
for r in range(1,s1.nrows):
ln = str(s1.cell(r,8).value)
lt = str(s1.cell(r,7).value)
values = ln, lt
cur.execute(query, values) #insert the data into the table
db.commit()
time.sleep(5)
db.close()
但我想在django数据库中加载其datetime字段工具。可能吗?请帮忙。
答案 0 :(得分:0)
好吧,您所要做的就是创建模型实例,填写工作表中的数据并保存。
import xlrd #For reading excel file
import time
from eyeway.models import DeviceData
book = xlrd.open_workbook('my_data.xlsx')
s1 = book.sheet_by_name('prasad')
for r in range(1,s1.nrows):
device_data = DeviceData(Latitude=str(s1.cell(r,7).value),
Longitude=str(s1.cell(r,8).value))
device_data.save()
不要忘记正确设置MySQL数据库。你需要加入 settings.py 这样的东西:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'server_db',
'USER': 'root',
'PASSWORD': 'lmtech123',
'HOST': 'localhost',
'PORT': '3306',
}
}
我希望这是你一直在寻找的东西。