@noyu0820

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Djangoのquerysetにて、MySQLからレコードを取得できない

解決したいこと

djangoベースのサイトにおいて、querysetでレコードを取得したいが、「django.db.utils.OperationalError: (2059, )」
というエラーにより、取得できない。

発生している問題・エラー

django.db.utils.OperationalError: (2059, <NULL>)

該当するソースコード

models.py

from django.db import models


class News(models.Model):

    title = models.CharField(verbose_name="タイトル", max_length=40)
    context = models.TextField(verbose_name="本文", blank=True, null=True)
    photo = models.ImageField(verbose_name="画像", blank=True, null=True)

    class Meta:
        verbose_name_plural = 'お知らせ機能'

    def __str__(self):
        return self.title

自分で試したこと

Djnango管理サイトにて、models.pyで定義した「title」「context」「photo」を登録し、MySQLのCommand LIne Clientにて、それぞれのレコードがアップロードされていることを確認しました。
その後、Pycharmにて、python manage.py shellを実行し、

from app.models import News

News = News.objects.all()

を実行しましたが、以下のエラーが発生しました。

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\models\query.py", line 263, in __repr__
    data = list(self[:REPR_OUTPUT_SIZE + 1])
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\models\query.py", line 269, in __len__
    self._fetch_all()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\models\query.py", line 1308, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\models\query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\models\sql\compiler.py", line 1154, in execute_sql
    cursor = self.connection.cursor()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\base\base.py", line 259, in cursor
    return self._cursor()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\base\base.py", line 235, in _cursor
    self.ensure_connection()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\base\base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\django\db\backends\mysql\base.py", line 234, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\MySQLdb\__init__.py", line 84, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python39\site-packages\MySQLdb\connections.py", line 179, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2059, <NULL>)

settings.pyにて、データベースのログイン情報をPyCharmの環境変数から取得していたところ、内容を直接記述してから再試行しましたが、同様のエラーが発生します。
恐らく初歩的なミスだとは思うのですが、どうにも自己解決ができませんでしたので、力をお貸し頂けると幸いです。
よろしくお願い致します。

0 likes

1Answer

お騒がせしました。データベースを削除後、もう一度migrateしたら解決しました。お役に立てるかは分かりませんが、解決方法を共有すべく、質問は削除せず、クローズして残しておきます。

0Like

Your answer might help someone💌