如何将我的 Django 项目中的 jupyter-lab 连接到 Django 的模型?

Posted

技术标签:

【中文标题】如何将我的 Django 项目中的 jupyter-lab 连接到 Django 的模型?【英文标题】:How to connect jupyter-lab in my Django project to the Django's models? 【发布时间】:2021-09-04 15:29:27 【问题描述】:

我对 Django 有点陌生,想知道如何做到这一点。 我有一个名为 forecasting.ipynb 的 jupyter-lab,与我的 manage.py 和 db.sqlite3 位于同一文件夹中。

我想连接到 db.sqlite3 以访问我的 models.py 中的模型。 我有一个模型叫 Coin。

我希望基本上能够执行 Coin.objects.all() 并访问我所有的硬币,但我对如何做到这一点有点困惑。

在我的 jupyter-lab 文件中,我有这个:

forecasting.ipynb

import sqlite3

connection = sqlite3.connect('db.sqlite3') 
for row in cur.execute('SELECT * FROM Coin;'):
    print(row)

connection.close()

我试过了,但它显示 'OperationalError: no such table: Coin'。 我也尝试了硬币和硬币,但都没有工作。

我真的很困惑,因为我的 models.py 中有一个名为 Coin 的模型。

models.py

from django.db import models

class Coin(models.Model):
    ticker = models.CharField(primary_key=True,max_length=10, unique=True)
    baseVolume = models.BigIntegerField(default=0)
    coin_name = models.CharField(default="", max_length=50)
    coin_description = models.TextField(default="")
    # price = models.FloatField()
    
    
    def __str__(self):
        return "-".format(self.ticker,self.baseVolume)

当我在我的 tasks.py 中执行 Coin.objects.all() 时,它运行良好。

是我的语法/代码错误还是我误解了什么?

非常感谢!

【问题讨论】:

【参考方案1】:

运行后pip install notebook django-extensions

在 settings.py 中设置此变量以允许 jupyter 运行查询

DJANGO_ALLOW_AYNSC_UNSAFE=True

然后您可以运行 python manage.py shell_plus --notebook

快乐的黑客

【讨论】:

以上是关于如何将我的 Django 项目中的 jupyter-lab 连接到 Django 的模型?的主要内容,如果未能解决你的问题,请参考以下文章

将我的帖子包含在 Django 中的关注者帖子中

如何在使用 django 构建的主页上显示 jupyter notebook?

如何允许用户在我的服务器上运行存储在我的数据库中的 jupyter 笔记本?

如何将我在视图中获得的一些信息保存到模型中的一个字段中 - django

Python重写jupyter notebook到python脚本问题

如何将我的 Vue js SPA 部署到我的 Django 服务器中?