【发布时间】:2013-11-02 18:22:06
【问题描述】:
假设我有一个模型:
class User(models.Model):
username = models.CharField(max_length=30, unique=True)
email = models.EmailField(unique=True)
当我创建User 时,django 需要首先检查唯一约束,并使用两个单独的查询来检查,例如
SELECT (1) AS "a" FROM "accounts_user" WHERE "accounts_user"."username" = 'aoeu' LIMIT 1
SELECT (1) AS "a" FROM "accounts_user" WHERE "accounts_user"."email" = 'aoeu@aoeu.com' LIMIT 1
我如何告诉 django 在一个查询中检查两个约束,例如
SELECT (1) AS "a" FROM "accounts_username" WHERE "accounts_user"."username" = 'aoeu' OR "accounts_user"."email" = 'aoeu@aoeu.com' LIMIT 1
【问题讨论】: