将数据库中的值连接到 Django 模型

Connecting values in a database to Django models

我已经手动将数据(通过 .csv 文件)导入到数据库中,现在如何将导入到数据库中的值连接到 Django 模型,以便我可以通过应用程序逻辑引用数据? (即 Model.objects.all().values('field')

我知道这与标准流程相反,因此,我无法在网上找到任何关于此流程的参考资料。

我希望能够打电话给 Model.objects.all().values('field') 并显示我导入到数据库中的 csv 列。

我的模型格式是基于 Geodjango 的模型,其中映射了环境数据。 shp 文件太大无法直接与我正在使用的代理数据库同步(估计需要 300 多天)所以我将值传输到 csv 并将 csv 直接导入到分配的模型 table 中数据库。但是,当使用 Django shell 时,我可以看到 csv 的值没有与模型同步,尽管被导入到相同的 table.

听起来您想使用 Django 的 inspectdb 功能。 inspectdb 根据现有数据库模式自动生成模型。您可以像往常一样在 settings.py 中设置您的数据库。然后 运行:

python manage.py inspectdb > models.py

...生成您的模型。

我在这个问题上浪费了 50 次。很容易修复,我只花了一天时间就弄明白了。我的 CSV 文件没有被正确导入,但我没有收到来自我正在导入到 (Google Cloud) 的托管数据库的任何错误消息。一旦我 运行 进行了一些测试以确认,我发现没有导入任何内容。然后我重新格式化并导入文件,一切都同步并且 运行 顺利。无需任何晦涩的 Django 命令或编写自定义命令以在特殊情况下与数据库同步。只是普通的旧 csv 格式问题。太好了。