【发布时间】:2011-04-06 08:00:47
【问题描述】:
class ExternalUser(models.Model):
user = models.ForeignKey(User)
external_account_id = models.CharField(max_length=200, null=True, blank=True)
class ExternalFriends(models.Model):
external_user = models.ForeignKey(ExternalUser)
external_account_id = models.CharField(max_length=200, null=True, blank=True)
假设我首先得到所有 ExternalFriends:
all_friends = ExternalFriends.objects.all()
好的,现在我有一个查询集。
我如何SELECT * FROM ExternalUser WHERE external_account_id IN [ ...all_friends's external_account_ids... ]?
Django 的等价物是什么?
【问题讨论】:
-
你真的需要两个模型上的“external_account_id”字段吗?由于您的 ExternalFriends 已经与 ExternalUser 相关,因此将 id 存储在 ExternalUser 模型上就足够了。这也将简化您的查询。
-
也许:ExternalUser.objects.filter(external_friends__external_account_id__is_null=False)
标签: python mysql database django