标题有点粗略,让我更详细地解释一下:
我有一个表Identity
,它是一个像这样的简单表:
class Identity(models.model):
identity_name = models.CharField(max_length=20, db_index=True) # name of the ID
service_name = models.CharField(max_length=50)
数据库中的一个示例行是一个 Facebook 身份,其中identity_name='FacebookID'
一个service_name='Facebook'
.
现在,要将其链接到用户,我有下表:
class UserIdentity(models.Model):
user = models.ForeignKey('django.contrib.auth.models.User', db_index=True)
identity_type = models.ForeignKey('Identity', db_index=True)
value = models.CharField(maxlength=50) # the ID value
objects = models.Manager()
identities = IdentitesManager()
假设Bob
是django.contrib.auth.models.User
. 我想通过Bob.identities.facebook
在.facebook
IdentitiesManager
现在您知道上下文了,问题来了:我如何从数据库中检索身份,以便在IdentitiesManager
?
谢谢阅读。