使用peewee为具有外键的表创建唯一索引

时间:2015-09-03 13:02:57

标签: python sqlite orm peewee

假设我有一个名为TBL_ACCOUNT的表,其中包含我的所有用户,以及一个名为TBL_EMAIL_SUBSCRIPTION的表,其中包含用户订阅的源。我正在努力使每个用户+提要组合只能有一个条目,因此user1只能订阅feed1一次,但user1可以同时订阅feed1和feed2。

这就是我的模型:

CachingActivityMapper

我还尝试过只使用“USER”作为索引,但由于数据库仍然收到重复项,因此无效。

1 个答案:

答案 0 :(得分:4)

请看peewee docs。 http://docs.peewee-orm.com/en/latest/peewee/models.html#indexes-and-constraints 在你的情况下,它应该是:

class Meta:
    indexes = (
        (("USER_id", "FEED"), True),
    )

注意使用逗号!这非常重要,因为索引是元组的元组。