【问题标题】:Sqlalchemy to django ormSqlalchemy 到 django orm
【发布时间】:2016-04-23 03:56:21
【问题描述】:

我有一个带有 sqlalchemy 的命令行脚本。它们如下所示:

class TimestampMixin(object):
    created_date = Column(DateTime, default=func.now())

class DataSource(Base, TimestampMixin):
    """DataSource object"""
    __tablename__ = 'data_source'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    external_location = Column(String)
    games = relationship('Game', backref="data_source")

现在我想采用相同的模型并将其放入 django 应用程序中。我可以手动完成如下:

class TimestampMixin(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)

    class Meta:
        abstract = True

class DataSource(TimestampMixin):
    """DataSource object"""
    name = models.CharField(max_length=255)
    external_location = models.CharField(max_length=255)

    class Meta:
        db_table = 'data_source'

我想知道是否有更好的方法。入手还不错,因为我只有 9 个模型,但我宁愿不维护它们。有更好的(标准化)方法吗?有了 djanog,我仍然希望能够使用 DjangoRestFramework 和 DjangoForms 之类的东西。我不确定他们是否可以使用 sqlalchemy。

【问题讨论】:

    标签: python django flask-sqlalchemy


    【解决方案1】:

    最好使用 Django ORM 或 SQLAlchemy。

    如果你想在django中使用SQLAlchemy数据库,你可以做的是:

    1. 创建一个 django 项目。
    2. 使用所需的数据库配置更新数据库设置。
    3. 运行命令:python manage.py inspectdb

    这将返回模型结构,无需更改数据库即可在 Django 中使用。

    你可以在这里详细查看:https://docs.djangoproject.com/en/dev/ref/django-admin/#inspectdb

    你可以查看this SO answer about using SQLAlchemy and Django together.

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 2013-08-30
      • 2013-07-16
      • 1970-01-01
      • 2011-06-03
      • 2021-06-25
      • 2017-02-11
      • 2011-04-11
      • 1970-01-01
      相关资源
      最近更新 更多