Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Sqlalchemy到django orm_Python_Django_Flask Sqlalchemy - Fatal编程技术网

Python Sqlalchemy到django orm

Python Sqlalchemy到django orm,python,django,flask-sqlalchemy,Python,Django,Flask Sqlalchemy,我有一个包含sqlalchemy的命令行脚本。它们如下所示: class TimestampMixin(object): created_date = Column(DateTime, default=func.now()) class DataSource(Base, TimestampMixin): """DataSource object""" __tablename__ = 'data_source' id = Column(Integer, prima

我有一个包含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")
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'
现在我想把同样的模型放到django应用程序中。我可以按如下方式手工操作:

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")
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一起工作。

最好使用Django ORM或sqlalchemy

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

  • 创建一个django项目
  • 使用所需的数据库配置更新数据库设置
  • 运行命令:
    python manage.py inspectdb
  • 这将返回可在Django中使用的模型结构,而无需更改数据库

    您可以在此处详细查看:

    您可以检查并回答一起使用SQLAlchemy和Django的问题