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/)和文档中的其他地方进行了介绍。你应该阅读并遵循,而不是从随机资源中“拼凑在一起”。 –