我正在尝试为我的模型字段(数据库角度上的列)设置有条件的唯一约束,以便根据另一个布尔字段来进行控制,但是找不到实现的方法。
我正在创建一个基于编号卡片的网页管理工具,用于在顾客仍在店内时帮助/控制其出勤情况。我的主要目标是防止用户在此编号仍处于活动状态(即布尔字段)与其他顾客相关时保存该卡号。
以下是models.py中类似的内容:
也许这种方法可以直接在Postgres上工作,但我还没有尝试过。
有没有可能直接使用Django来完成?我的意思是,针对Django上的布尔字段(状态),设置一个有条件的唯一性约束?
谢谢您的提问。 注:这是我在stackoverflow上的第一个问题,请随意批评我的风格。
我正在创建一个基于编号卡片的网页管理工具,用于在顾客仍在店内时帮助/控制其出勤情况。我的主要目标是防止用户在此编号仍处于活动状态(即布尔字段)与其他顾客相关时保存该卡号。
以下是models.py中类似的内容:
class Cards(models.Model):
card_number = models.PositiveIntegerField("""{{RESTRICTION NEEDED}}""")
card_date = models.DateTimeField(auto_now=False, auto_now_add=True)
custumer = models.ForeignKey(Customer)
status = models.BooleanField(default=False)
也许这种方法可以直接在Postgres上工作,但我还没有尝试过。
CREATE UNIQUE INDEX card_number_ind ON Cards (card_number) WHERE (status is False);
有没有可能直接使用Django来完成?我的意思是,针对Django上的布尔字段(状态),设置一个有条件的唯一性约束?
谢谢您的提问。 注:这是我在stackoverflow上的第一个问题,请随意批评我的风格。