鉴于这个用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)
答案 0 :(得分:9)
具有NULL值的多行不应该是唯一约束的问题。只有“值”必须是唯一的,NULL不是值。
你试过吗?:
upc = Column(String(), unique=True, nullable=True)