将数据库中的值连接到 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 格式问题。太好了。
我已经手动将数据(通过 .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 格式问题。太好了。