小编Liq*_*Lau的帖子

我什么时候需要使用sqlalchemy back_populates?

当我按照本指南尝试SQLAlchemy Relation Example时:基本关系模式

我有这个代码

#!/usr/bin/env python
# encoding: utf-8
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, ForeignKey
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///:memory:', echo=True)
Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base(bind=engine)

class Parent(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    children = relationship("Child")

class Child(Base):
    __tablename__ = 'child'
    id = Column(Integer, primary_key=True)
    parent_id = Column(Integer, ForeignKey('parent.id'))
    parent = relationship("Parent")

Base.metadata.create_all()

p = Parent()
session.add(p)
session.commit()
c = Child(parent_id=p.id) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

60
推荐指数
1
解决办法
2万
查看次数

更好的方法是将json转换为SQLAlchemy对象

这些天我正在学习SQLAlchemy.当我想从json加载一个对象并将其保存到MySQL时,事情变得困难,因为我的模型中的字段超过20,我想知道是否有更好的方法来做到这一点.

我的原始代码如下:

class User(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    name = Column(String)

json_str = """{"id": 1, "name": "yetship"}"""
obj = json.loads(json_str)
user = User(id=obj.get("id"), name=obj.get("name"))
Run Code Online (Sandbox Code Playgroud)

它可以工作,但随着我添加更多字段,它变得非常糟糕.

python json sqlalchemy

4
推荐指数
1
解决办法
4574
查看次数

标签 统计

python ×2

sqlalchemy ×2

json ×1