【发布时间】:2017-01-11 00:14:13
【问题描述】:
我是 Django 1.9 的新手(对烧瓶也很陌生),并且正在尝试以与 sqlite sessionmaker 相同的方式填充我的 models.py。
这是我的 models.py 的一个片段:
@python_2_unicode_compatible
class Location(models.Model):
def __str__(self):
return self.location_text
location_text = models.CharField(max_length=200)
travel_date = models.DateTimeField('date traveled')
@python_2_unicode_compatible
class Countries(models.Model):
def __str__(self):
return self.capitals
location = models.ForeignKey(Location, on_delete=models.CASCADE)
capitals = models.CharField(max_length=200)
使用 flask 和 sqlalchemy,我将创建一个新文件并能够执行以下操作:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from this_app.models import Location, Countries
engine = create_engine("the db")
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
loc1 = Location(location_text = "Indonesia")
session.add(loc1)
session.commit()
cap = Countries(
capitals="Jakarta",
location=loc1
)
session.add(cap)
session.commit()
django 的 orm 是怎么做到的?
【问题讨论】:
-
我不确定你在问什么。向您展示如何创建模型的同一教程将向您展示如何向它们添加数据。
-
嘿丹尼尔,如果有,我没看到。我在 django 教程网站上看到的唯一内容是如何使用 shell 添加信息。我在 shell 上有一个太多的清单清单,并且希望可以选择类似于烧瓶允许的方式。
-
为什么使用 shell 与任何其他代码有什么不同?
标签: python django sqlalchemy