小编Sri*_*Sri的帖子

Sqlalchemy:次要关系更新

我有两个表,比如A和B.两个都有一个主键ID.他们有多对多的关系,SEC.

SEC = Table('sec', Base.metadata,
    Column('a_id', Integer, ForeignKey('A.id'), primary_key=True, nullable=False),
    Column('b_id', Integer, ForeignKey('B.id'), primary_key=True, nullable=False)
)

class A():
   ...
   id = Column(Integer, primary_key=True) 
   ...
   rels = relationship(B, secondary=SEC)

class B():
   ...
   id = Column(Integer, primary_key=True) 
   ...
Run Code Online (Sandbox Code Playgroud)

让我们考虑一下这段代码.

a = A()
b1 = B()
b2 = B()
a.rels = [b1, b2]
...
#some place later
b3 = B()
a.rels = [b1, b3]  # errors sometimes
Run Code Online (Sandbox Code Playgroud)

有时,我在最后一行说错了

duplicate key value violates unique constraint a_b_pkey
Run Code Online (Sandbox Code Playgroud)

在我的理解中,我认为它试图再次将(a.id,b.id)添加到'sec'表中,从而导致唯一的约束错误.这是什么?如果是这样,我该如何避免这种情况?如果没有,为什么我会有这个错误?

python postgresql orm sqlalchemy relationship

9
推荐指数
2
解决办法
4015
查看次数

SQLAlchemy和Postgresql:to_tsquery()

有没有人知道如何在sqlalchemy中使用postgresql的to_tsquery()函数?我在谷歌搜索了很多,我找不到任何我能理解的东西.请帮忙.

我希望它在过滤函数中可用,如下所示:

session.query(TableName).filter(Table.column_name.to_tsquery(search_string)).all()
Run Code Online (Sandbox Code Playgroud)

上述查询的预期SQL是这样的:

Select column_name
    from table_name t
    where t.column_name @@ to_tsquery(:search_string)
Run Code Online (Sandbox Code Playgroud)

postgresql sqlalchemy

8
推荐指数
2
解决办法
1180
查看次数

SQL:"BETWEEN"与"current_date - number"之间的区别

我想知道以下哪一项是最好的实施方式和原因.

select * from table1 where request_time between '01/18/2012' and '02/17/2012'
Run Code Online (Sandbox Code Playgroud)

select * from table1 where request_time > current_date - 30
Run Code Online (Sandbox Code Playgroud)

sql postgresql

5
推荐指数
1
解决办法
3758
查看次数

Python - 将unicode和hex转换为unicode

我有一个像这样的unicode字符串:

U'\ XC3\XA3\XC6\u2019\XC2版权所有\ xA9\XC3\XA3\XC6\u2019\XE2\u20ac\u201c\XC3\XA3\XC6\u2019\XC2版权所有\ xA9\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA4\XC3\XA3\XC6\u2019\XE2\u20ac\u201c\XC3\XAF\XC2\XBC\XC2\X81\XC3\XA3\XE2\u20ac\u016​​1\XC2\xb9\XC3\XA3\XE2\u20ac\u016​​1\XC2\XAF\XC3\XA3\XC6\u2019\XC2\XBC\XC3\XA3\XC6\u2019\XC2\XAB\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA2\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA4\XC3\XA3\XC6\u2019\XE2\u20ac\XB0\XC3\XA3\XC6\u2019\XC2\XAB\XC3\XA3\XC6\u2019\XE2\u20ac\XA2\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA7\XC3\XA3\XE2\u20ac\u016​​1\XC2\xb9\XC3\XA3\XC6\u2019\XE2\u20ac\XA0\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA3\XC3\XA3\XC6\u2019\XC2\X90\XC3\XA3\XC6\u2019\XC2\XAB\XC3\XAF\XC2\XBC\XCB\u2020\XC3\XA3\XE2\u20ac\u016​​1\XC2\xb9\XC3\XA3\XE2\u20ac\u016​​1\XC2\XAF\XC3\XA3\XC6\u2019\XE2\u20ac\XA2\XC3\XA3\XE2\u20ac\u016​​1\XC2\XA7\XC3\XA3\XE2\u20ac\u016​​1\XC2\xb9\XC3\XAF\XC2\XBC\XE2\u20ac\XB0'

如何从中获取正确的unicode字符串?我认为,实际的unicode值是????????????????????????????

python unicode encoding mojibake

0
推荐指数
1
解决办法
541
查看次数

标签 统计

postgresql ×3

python ×2

sqlalchemy ×2

encoding ×1

mojibake ×1

orm ×1

relationship ×1

sql ×1

unicode ×1