{"id":131864,"date":"2020-07-05T21:50:00","date_gmt":"2020-07-05T13:50:00","guid":{"rendered":"http:\/\/4563.org\/?p=131864"},"modified":"2020-07-05T21:50:00","modified_gmt":"2020-07-05T13:50:00","slug":"django2-2-%e5%92%8c-pymysql%e7%89%88%e6%9c%ac%e5%85%bc%e5%ae%b9%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=131864","title":{"rendered":"django2.2 \u548c PyMySQL\u7248\u672c\u517c\u5bb9\u95ee\u9898"},"content":{"rendered":"<p>\u9519\u8bef\u4fe1\u606f\u4e3a<code>django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.<\/code><\/p>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#\u9519\u8bef\u539f\u56e0\uff1a\" title=\"\u9519\u8bef\u539f\u56e0\uff1a\"><\/a>\u9519\u8bef\u539f\u56e0\uff1a<\/h3>\n<p>\u56e0\u4e3aDjango\u8fde\u63a5MySQL\u65f6\u9ed8\u8ba4\u4f7f\u7528MySQLdb\u9a71\u52a8\uff0c\u4f46MySQLdb\u4e0d\u652f\u6301Python3\uff0c\u56e0\u6b64\u8fd9\u91cc\u5c06MySQL\u9a71\u52a8\u8bbe\u7f6e\u4e3apymysql\u3002\u7531\u6b64\u4ea7\u751f\u7684\u7248\u672c\u517c\u5bb9\u95ee\u9898\u3002<\/p>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#pymysql\u5b89\u88c5\u65b9\u6cd5\uff1a\" title=\"pymysql\u5b89\u88c5\u65b9\u6cd5\uff1a\"><\/a>pymysql\u5b89\u88c5\u65b9\u6cd5\uff1a<\/h3>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span><span>#\u5b89\u88c5pymysql<\/span><\/span><br><span>pip install pymysql<\/span><br><span><\/span><br><span><span>#__init__.py<\/span><\/span><br><span><span>import<\/span> pymysql<\/span><br><span>pymysql.install_as_MySQLdb()<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#\u89e3\u51b3\u529e\u6cd5\uff1a\" title=\"\u89e3\u51b3\u529e\u6cd5\uff1a\"><\/a>\u89e3\u51b3\u529e\u6cd5\uff1a<\/h3>\n<h4><a href=\"https:\/\/www.studytime.xin\/article\/#1-django\u964d\u52302-1-4\u7248\u672c\" title=\"1. django\u964d\u52302.1.4\u7248\u672c\"><\/a>1. django\u964d\u52302.1.4\u7248\u672c<\/h4>\n<h4><a href=\"https:\/\/www.studytime.xin\/article\/#2-\u4fee\u590d\u6e90\u7801\" title=\"2. \u4fee\u590d\u6e90\u7801\"><\/a>2. \u4fee\u590d\u6e90\u7801<\/h4>\n<p>2.1 \u627e\u5230Python\u73af\u5883\u4e0b django\u5305\uff0c\u5e76\u8fdb\u5165\u5230backends\u4e0b\u7684mysql\u6587\u4ef6\u5939<\/p>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span>#  \u4f7f\u7528\u6b64\u547d\u4ee4\u53ef\u4ee5\u770b\u5230\u5bf9\u5e94\u7684\u6587\u4ef6\u5939\u76ee\u5f55<\/span><br><span>\u279c  daliyfresh pip install pymysql<\/span><br><span>Looking in indexes: https:&#x2F;&#x2F;mirrors.aliyun.com&#x2F;pypi&#x2F;simple&#x2F;<\/span><br><span>Requirement already satisfied: pymysql in &#x2F;Library&#x2F;Frameworks&#x2F;Python.framework&#x2F;Versions&#x2F;3.6&#x2F;lib&#x2F;python3.6&#x2F;site-packages (0.9.3)<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<p>2.2 \u627e\u5230base.py\u6587\u4ef6\uff0c\u6ce8\u91ca\u6389 base.py \u4e2d\u5982\u4e0b\u90e8\u5206\uff0835\/36\u884c\uff09<\/p>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span><span>if<\/span> version &lt; (<span>1<\/span>, <span>3<\/span>, <span>3<\/span>):<\/span><br><span>     <span>raise<\/span> ImproperlyConfigured(<span>\"mysqlclient 1.3.3 or newer is required; you have %s\"<\/span> % Database.__version__)<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<p>2.3 \u6b64\u65f6\u4ecd\u7136\u62a5\u9519\uff0c\u627e\u5230operations.py\u6587\u4ef6\uff0c\u5c06decode\u6539\u4e3aencode<\/p>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span>AttributeError: \u2018str\u2019 object has no attribute \u2018decode\u2019<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<p>\u89e3\u51b3\u529e\u6cd5\uff1a<\/p>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span><span>#linux vim \u67e5\u627e\u5feb\u6377\u952e\uff1a\uff1fdecode<\/span><\/span><br><span><span>if<\/span> query <span>is<\/span> <span>not<\/span> <span>None<\/span>:<\/span><br><span>    query = query.decode(errors=<span>'replace'<\/span>)<\/span><br><span><span>return<\/span> query<\/span><br><span><span>#\u6539\u4e3a<\/span><\/span><br><span><span>if<\/span> query <span>is<\/span> <span>not<\/span> <span>None<\/span>:<\/span><br><span>    query = query.encode(errors=<span>'replace'<\/span>)<\/span><br><span><span>return<\/span> query<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#\u6d4b\u8bd5\uff0c\u6267\u884c\u6570\u636e\u8fc1\u79fb\" title=\"\u6d4b\u8bd5\uff0c\u6267\u884c\u6570\u636e\u8fc1\u79fb\"><\/a>\u6d4b\u8bd5\uff0c\u6267\u884c\u6570\u636e\u8fc1\u79fb<\/h3>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span>python manage.py makemigrations<\/span><br><span>python manage.py migrate<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<p><img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2020\/07\/20200706_5f035520e1dcf.png\" alt=\"django2.2 \u548c PyMySQL\u7248\u672c\u517c\u5bb9\u95ee\u9898\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9519\u8bef\u4fe1\u606f\u4e3adjango.core.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/131864"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=131864"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/131864\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=131864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=131864"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=131864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}