Mysql django 1.11.4中出现错误(';datetime.datetime';对象没有属性';split';)
我正在通过官方文档教程学习django版本1.11.4。我正在使用python 3.6.5和mysql8作为数据库。我还使用mysql.connector.django连接到mysql数据库。我试着做第一个Django应用程序,第2部分 除了运行此命令外,其他一切正常: 问题.对象.全部() 我得到了以下错误:Mysql django 1.11.4中出现错误(';datetime.datetime';对象没有属性';split';),mysql,django,python-3.x,Mysql,Django,Python 3.x,我正在通过官方文档教程学习django版本1.11.4。我正在使用python 3.6.5和mysql8作为数据库。我还使用mysql.connector.django连接到mysql数据库。我试着做第一个Django应用程序,第2部分 除了运行此命令外,其他一切正常: 问题.对象.全部() 我得到了以下错误: Traceback (most recent call last): File "<console>", line 1, in <module> Fil
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/query.py", line 226, in __repr__
data = list(self[:REPR_OUTPUT_SIZE + 1])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/query.py", line 250, in __iter__
self._fetch_all()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/query.py", line 1118, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/query.py", line 62, in __iter__
for row in compiler.results_iter(results):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 839, in results_iter
for rows in results:
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1284, in cursor_iter
sentinel):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1283, in <lambda>
for rows in iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)),
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/utils.py", line 101, in inner
return func(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 510, in fetchmany
rows.extend(self._cnx.get_rows(size))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysql/connector/connection_cext.py", line 275, in get_rows
row[i])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysql/connector/conversion.py", line 205, in to_python
return self._cache_field_types[vtype[1]](value, vtype)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysql/connector/django/base.py", line 119, in _DATETIME_to_python
dt = MySQLConverter._DATETIME_to_python(self, value)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysql/connector/conversion.py", line 506, in _DATETIME_to_python
(date_, time_) = value.split(b' ')
AttributeError: 'datetime.datetime' object has no attribute 'split'
数据库设置:
DATABASES = {
'default': {
'NAME': 'mysite',
'ENGINE': 'mysql.connector.django',
'USER': 'root',
'PASSWORD': '********',
'OPTIONS': {
'autocommit': True,
},
}
}
如果您有任何线索或帮助来修复此错误,我们将不胜感激 我昨天或两天前也经历了这种痛苦,并且能够用mysqlclient-1.3.12运行它。我是从记忆中走出来的,所以请容忍我,我尝试了很多东西,但最终我成功了 我和你一样从mysql网站安装了mysql8和mysql8connector,但没有得到任何爱。经过多次搜索和反复尝试,我在某个地方找到了一个我找不到的答案,但我最终还是做了:
brew安装mysql
pip安装mysqlclient
我知道您已经安装了mysql,但brew install mysql似乎添加了用于编译mysql客户端连接器的客户端库。然后,我的设置文件中的数据库如下所示:
数据库={
“默认值”:{
'ENGINE':'django.db.backends.mysql',
'姓名':'投票',
“用户”:“我的用户”,
“密码”:“密码”,
'主机':'本地主机',
“端口”:“3306”,
“选项”:{
“字符集”:“utf8mb4”,
“自动提交”:正确,
},
}
}
注意发动机不同。如果我将引擎更改为mysql.connector.django,我可以复制您的确切错误
但是,使用django.db.backends.mysql,我仍然得到以下警告:
Lb/Python 3.6/站点包/ Django/dB/Buts/MySQL/Base.Py:71:警告:(3719)“UTF8”目前是字符集UTF8Mb3的别名,它将在未来版本中被UTF8Mb4替换。请考虑使用UTF8Mb4以明确。“
” 我不知道,但这只是一个警告,Django教程似乎运行良好让我知道这是否有帮助,或者你是否还有其他问题,我会尽力帮助你。我花了几个小时在MacOS上使用MySQL DB用python3建立Django项目。 我无法通过pip3在使用virtualenv创建的虚拟环境中安装mysqlclient和MySQL Python
pip3 install mysqlclient
stacktrace出现错误:
2) 使用brew将mysql升级至最新版本(如果需要)
3) 现在使用pip3安装mysqlclient(在没有virtualenv的情况下全局安装)
4) 现在访问virtualenv并在其中安装mysqlclient,configparser的安装将不会出现任何错误,正如发布的中所示,解决方案是:
在数据库['default']['OPTIONS']
中设置use_pure=True
这是mysql连接器python数据转换问题。您可以通过使用use_pure=true设置database options参数来解决这个问题。当前版本8.0.11、8.0.12和8.0.13中未解决此问题
"OPTIONS":{
"use_pure":True
}
这只是暂时的解决办法。有关更多信息,请参阅此处:错误似乎类似于。Django医生警告说。您可以尝试使用推荐的软件包
mysqlclient
。我花了大约2天的时间在mac上安装mysqlclient,但没有成功。这就是我切换到mysql连接器的原因。我尝试了所有可能的解决方案来修复不同的错误,但没有成功。这是我在尝试安装mysqlclientCommand“/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6-u-c”import setuptools,tokenize时无法修复的错误__文件“/private/var/folders/cg/ttg6lfr17pb005f63_0y7b6r0000gn/T/pip-install-qwt4df54/mysqlclient/setup.py”;f=getattr(标记化“打开”,打开)(文件);code=f.read().replace('\r\n','\n');f、 close();exec(compile(code,file,'exec'))“安装--record/private/var/folders/cg/ttg6lfr17pb005f63_0y7b6r0000gn/T/pip-record-apcxyrd9/install-record.txt--外部管理的单一版本--compile”失败,错误代码为/private/var/folders/cg/ttg6lfr17pb005f63_0y7b6r0000gn/T/pip-install-qwt4df54/mysqlclient/thank@adelin,这对我很有帮助。对于其他可能需要此功能的人,我在获取带有DateTimeField的模型时遇到了一个问题:Django 1.11.14、mysql connector python 8.0.11和mysql 5.7。这解决了问题。
brew install mysql
brew upgrade mysql
pip3 install mysqlclient
"OPTIONS":{
"use_pure":True
}