小编shw*_*oop的帖子

SQLAlchemy 条件关系

我想在两个 ORM 对象之间建立一对多的关系,并使用第二个关系扩展它,该关系在应用约束时链接到同一个“许多”对象。

下面的例子可能会详细说明:

class Users(SQLABase):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    addresses = relationship('Addresses', backref='user')


class Addresses(SQLABase):
    __tablename__ = 'addresses'
    id = Column(Integer, primary_key=True)
    historic = (String(1))
    add1 = Column(String)
    user = Column(Integer, ForeignKey('users.id'))
Run Code Online (Sandbox Code Playgroud)

我想要一个属性 'Users.valid_addresses' 与相同的 'addresses' 表过滤相关,其中 Addresses.historic == 'N' 像下面的查询:

Session.Query(Addresses).filter_by(historic = 'N').all()
Run Code Online (Sandbox Code Playgroud)

我正在寻找“SQLAlchemy 方式”。

  • 我可以对关系应用条件吗?
  • 我是否希望迭代当前关系的结果?
  • 我应该基于应用条件的地址表的 SQL 视图创建一个额外的“valid_addresses”对象吗?

我觉得这已经得到了回答,但我没有正确地表达这个问题。

python sqlalchemy

3
推荐指数
1
解决办法
4516
查看次数

dockerregistry v2 和curl 出现不够范围错误

我尝试通过 v2 注册表访问 docker hub,但无法理解为什么insufficient_scope在标头中返回错误。

#!/bin/bash
REPO=ubuntu
TAG=latest
REGISTRY=https://registry-1.docker.io/v2

URI="$REGISTRY/$REPO/manifests/$TAG"
echo URI=$URI
MANIFEST="`curl -skL -o /dev/null -D- $URI`"
CHALLENGE="`grep "Www-Authenticate" <<<"$MANIFEST"`"
if [[ CHALLENGE ]]; then
    IFS=\" read _ REALM _ SERVICE _ SCOPE _ <<<"$CHALLENGE"
    echo REALM is $REALM
    echo SERVICE is $SERVICE
    echo SCOPE is $SCOPE
    TOKEN="`curl -skL "$REALM?service=$SERVICE&scope=$SCOPE"`"
    IFS=\" read _ _ _ TOKEN _ <<<"$TOKEN"
    echo TOKEN is $TOKEN
    MANIFEST="`curl -isk -X GET -H "Authorization: Bearer $TOKEN" $URI`"
    echo "RESPONSE is $MANIFEST"
fi
Run Code Online (Sandbox Code Playgroud)

控制台输出是: …

bash curl docker

3
推荐指数
1
解决办法
2719
查看次数

标签 统计

bash ×1

curl ×1

docker ×1

python ×1

sqlalchemy ×1