djago报错 1054, "Unknown column 'house.id' in 'field list'"
我的数据库字段和models里的字段都是一样的报错1054, "Unknown column 'house.id' in 'field list'"看信息是你用到了id这个字段,但是数据库里没有 wp231957 发表于 2021-3-29 20:22
看信息是你用到了id这个字段,但是数据库里没有
第一张就是数据库,蓝色的字段就是我用的字段,没有用id这个字段。 本帖最后由 阿奇_o 于 2021-3-30 00:18 编辑
我记得 如果你没设有主键,Django 会默认自动为表 创建一个 id列,作为主键。
前后涉及的步骤较多,不好讲清楚。你可以仔细看看文档。
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey and OneToOneField has `on_delete` set to the desired behavior
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names. 你确定你的数据库,是自动由Django 自动生成的?
我记得Django 数据库迁移的时候, ORM 会去判断你是否有设置主键,如果没有的话,会自动帮你添加一个ID 作为主键。 z5560636 发表于 2021-3-30 09:20
你确定你的数据库,是自动由Django 自动生成的?
我记得Django 数据库迁移的时候, ORM 会去判断你是否有 ...
我的数据库是表格导入到数据库的,然后models文件是输入python manage.py inspectdb > models.py生成的。 樊敬礼 发表于 2021-3-30 10:45
我的数据库是表格导入到数据库的,然后models文件是输入python manage.py inspectdb > models.py生成的。
这就是问题了吧, 使用ORM 的时候Django会自动生成关联的文件, 如果你硬用的话,只能使用SQL 原生的语法, 别引用ORM。 z5560636 发表于 2021-3-30 10:47
这就是问题了吧, 使用ORM 的时候Django会自动生成关联的文件, 如果你硬用的话,只能使用SQL...
那我应该怎么办,我想实现在搜索框输入一个关键字,然后出来的是我数据库中的整条数据。 数据库的链接和查询方法重新写一下。给你一个demo:
conn = connect(host='mysql-server', port=3306, user='ccd', passwd='123456', db='computer_status',
cursorclass=cursors.DictCursor)
myconn = conn.cursor()
sql = 'SELECT * FROM sign_computer_status'
myconn.execute(sql)
r_computer_status = myconn.fetchall()
z5560636 发表于 2021-3-30 12:39
数据库的链接和查询方法重新写一下。给你一个demo:
这个写在哪个文件里面 哪里用写哪里,这个就是查询数据库的一种方式。
z5560636 发表于 2021-3-30 13:45
哪里用写哪里,这个就是查询数据库的一种方式。
麻烦您帮我看看我发的第三张图片,里面的handle方法,就是我要用的地方,您帮我看看要改成什么样 在哪里用该哪里啊! 只是说你获取数据库的方式报错了,那就用直接执行SQL 语句的方式来弄啊,
import MySQLdb
conn = MySQLdb.connect(host='数据库IP',port=3306,user='账号',passwd='密码',db='数据库名字', charset="utf8")
cur = conn.cursor()
cur.execute(”select * from 数据库表名“)
db = cur.fetchall() z5560636 发表于 2021-3-30 14:58
在哪里用该哪里啊! 只是说你获取数据库的方式报错了,那就用直接执行SQL 语句的方式来弄啊,
改了报别的错
C:\Users\86173\Desktop\1.pngC:\Users\86173\Desktop\2.png 樊敬礼 发表于 2021-3-30 15:18
改了报别的错
def handle(request):
text = request.POST["搜索内容"]
service.addText(text)
#db = House.objects.all()
conn = MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='cy218218',db='fangyuan', charset="utf8")
cur = conn.cursor()
cur.execute("select * from house")
db = cur.fetchall()
po_list = []
for i in db:
if text in i.region:
po_list.append(i.unit)
return render(request,"user/resp.html",{"resp":po_list})
樊敬礼 发表于 2021-3-30 15:19
def handle(request):
text = request.POST["搜索内容"]
service.addText(text)
报错AttributeError at /handle/
'tuple' object has no attribute 'region' 本帖最后由 z5560636 于 2021-3-30 23:37 编辑
樊敬礼 发表于 2021-3-30 15:20
报错AttributeError at /handle/
'tuple' object has no attribute 'region'
if text in i.region:
这个判断语句也要改一下。
自己用print 调试一下db里面的数据。 你這張表沒有主鍵鍵、外鍵
页:
[1]