0
我想用Django查詢MySQL數據庫。我用幾個來源將這些代碼拼湊在一起。有人能解釋我通過查詢的方式有什麼問題嗎?因爲我是Python和Django的新手,所以我將不勝感激關於如何改進我的代碼的建議或鏈接。我得到的錯誤是:Django MySQL數據庫錯誤傳遞數據庫查詢
TypeError: query() takes exactly 1 argument (2 given)
我的類:(做數據庫連接,將結果顯示在圖)
from helloservice.models import Snippet
from helloservice.serializers import SnippetSerializer
from rest_framework import generics
from django.contrib.auth.models import User
from helloservice.serializers import UserSerializer
from rest_framework import permissions
from helloservice.permissions import IsOwnerOrReadOnly
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.reverse import reverse
from rest_framework import renderers
from rest_framework.response import Response
from rest_framework import viewsets
from rest_framework.decorators import detail_route
#sudo pip install MySQL-python
class DbConn():
hostname = 'jdbc:mysql://xxxxxx.us-east-1.rds.amazonaws.com:3306'
username = 'rrrr'
password = 'xxxx'
database = 'yyyy'
def query(q):
myConnection = MySQLdb.connect(host=hostname, user=username, passwd=password, db=database)
cur=conn.cursor()
cur.execute(q)
return cur
class UserViewSet(viewsets.ReadOnlyModelViewSet):
conn= DbConn()
cur=conn.query('SELECT * FROM pulse.customer WHERE userId = 103')
#return cur.objects.values_list('loginName')
print(cur.objects.values_list('loginName'))
不要做任何這一點。你正在使用Django;至少使用內置的連接對象來運行你的SQL,但是更好地使用模型層並且根本不使用SQL。 –
Im新的django,你是什麼意思的內置連接對象?你可以提供一個例子,或給我一個什麼樣的想法谷歌? – Rilcon42
看,如何使用Django模型和查詢在[教程](https://docs.djangoproject.com/en/1.11/intro/tutorial02/)和文檔中的其他地方進行了介紹。你應該閱讀並遵循,而不是從隨機資源中「拼湊在一起」。 –