如果不是null SQLAlchemy和Django,则为唯一

时间:2012-09-17 09:10:39

标签: sql django null sqlalchemy unique

鉴于这个用SQLAlchemy和Django models.py编写的简单表,如果不为null,我如何设置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)

1 个答案:

答案 0 :(得分:9)

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

你试过吗?:

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