Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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中,如何使用DateTime列和另一列的日期部分创建UniqueConstraint?_Python_Postgresql_Sqlalchemy_Unique Constraint - Fatal编程技术网

Python 在SqlAlchemy中,如何使用DateTime列和另一列的日期部分创建UniqueConstraint?

Python 在SqlAlchemy中,如何使用DateTime列和另一列的日期部分创建UniqueConstraint?,python,postgresql,sqlalchemy,unique-constraint,Python,Postgresql,Sqlalchemy,Unique Constraint,假设我有一个这样的模型: from sqlalchemy import Column, DateTime, ForeignKey, Text class Foo(declarative_base): __tablename__ = "foos" my_dt = Column(DateTime...) my_other_value = Column(Integer...) 我正在尝试使用SqlAlchemy表示法,每天只允许一个my_other_值,这意味着,我想提取

假设我有一个这样的模型:

from sqlalchemy import Column, DateTime, ForeignKey, Text

class Foo(declarative_base):
    __tablename__ = "foos"
    my_dt = Column(DateTime...)
    my_other_value = Column(Integer...)

我正在尝试使用SqlAlchemy表示法,每天只允许一个
my_other_值
,这意味着,我想提取
my_dt
日期
部分,并使用
my_other_值对其进行唯一约束

我知道(呃……我相当肯定我知道)如何在PostgreSQL中实现这一点:

CREATE UNIQUE INDEX unique_num_and_date 
ON foos(my_other_value, date_trunc('day',my_dt));

但出于好奇/一致性,我想用SqlAlchemy来反映这一点。

试试下面的方法:

class MyModel(Base):
    __tablename__ = 'my_model'
    __table_args__ = (UniqueConstraint('name', 'deleted_at'),)
    name = Column(String(length=64), nullable=False)
    deleted_at = Column(DateTime(), nullable=True)

相关:谢谢你的回答!然而,我试图做的是提取
DateTime
列的
Date
部分,并在约束本身中使用它。它可能是这样的:
\u表\u参数\u=(UniqueConstraint('name',function\u,我正在寻找的\u,从\u列('deleted\u at')中提取\u日期的\u),
如果问题不清楚,很抱歉。