【问题标题】:Unique if not null SQLAlchemy and Django如果不为空,则为唯一 SQLAlchemy 和 Django
【发布时间】:2012-09-09 11:43:17
【问题描述】:

鉴于这个用 SQLAlchemy 和 Django models.py 编写的简单表,如果不为空,我如何将 UPC 设置为唯一的。 UPC 不会适用于所有商品,但如果是的话,它应该是唯一的。

class Products(base):  
    __tablename__ = u'products'  
    id = Column(Integer(), primary_key=True, autoincrement = True)  
    product_name = Column(String(), unique=True, nullable=False)  
    upc = Column(String(), nullable = True)  

class Products(models.Model):
    id = models.AutoField(primary_key=True)
    product_name = models.TextField()
    upc = models.TextField(null=True, blank=True)

【问题讨论】:

    标签: sql django null sqlalchemy unique


    【解决方案1】:

    具有 NULL 值的多行不应该成为唯一约束的问题。只有“值”必须是唯一的,NULL 是没有值的。

    你试过了吗?:

    upc = Column(String(), unique=True, nullable=True) 
    

    【讨论】:

    • 好的,有道理。我意识到我可能在应用程序的某个地方犯了一个错误,我想将其设为 null,但实际上我可能会放置一个空字符串,这样会导致唯一性问题。
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多