访问mysql数据库中已有的数据

qaxu7uf2  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(410)

我想做的是:我有一个包含一些公共交通数据的csv文件。我想在我的django应用程序中使用它,所以我将csv导入了mysql数据库。然后,我为该表创建了一个django模型(我还将我的模型与 python manage.py inspectdb 以确保它是正确的。然后我跑了 python manage.py makemigrations 最后呢 python manage.py migrate . 据我所知(而且我是django的新手,如果我错过了一些明显的东西,很抱歉),django现在应该可以访问我数据库中的表了。
但它不起作用。我试过使用django shell( python manage.py shell )返回表格内容 Stops.objects.all() ,返回一个空集。类似地,我能够用 Stops.objects.all() 而且,虽然没有给出错误,但没有返回任何数据。我已经确认了我正在settings.py中访问正确的数据库,并且数据实际上是通过mysql终端存在的。
我已经试着解决这个问题很久了,但还没有找到任何解决办法。我想可能有一小步我错过了,希望这里的人会知道。提前谢谢!

aiazj4mn

aiazj4mn1#

如果我是您,我将验证我的表是否按预期命名。
使用mysql,比如

USE mydb
SHOW TABLES;

我假设您的django表将使用f{app\u label}{model}的默认命名方案,因此如果您的应用程序命名为“my\u app”,而您的模型命名为“stops”,那么您可以预期django将管理一个名为“my\u app\u stops”的表
您可以用django shell验证这一点
$./manage.py外壳

from my_app.models import Stops
Stops._meta.db_table

我希望这有帮助。没有更多的信息,我只能告诉你如何调查最明显的缺陷。
编辑如果您确定这是差异,您有两个选项:(1)重命名您的表以匹配django,或(2)强制django使用元类查看现有表

from django.db import models
class Stops(models.Model):
    class Meta:
        db_table = 'some_table_name'

相关问题