Mysql django 1.11.4中出现错误(';datetime.datetime';对象没有属性';split';)

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

我正在通过官方文档教程学习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>
  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
}