我正在扩展 django 的用户模型。
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User, _(u"User"))
那么,是否可以将 db_index=True 和 unique=True 与用户字段一起使用?然后我需要通过用户名实现搜索。我想到了斯芬克斯。对此有什么想法吗?也许一些链接很好的教程?TIA
我正在扩展 django 的用户模型。
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User, _(u"User"))
那么,是否可以将 db_index=True 和 unique=True 与用户字段一起使用?然后我需要通过用户名实现搜索。我想到了斯芬克斯。对此有什么想法吗?也许一些链接很好的教程?TIA
按用户名搜索就是:
UserProfile.objects.filter(user__username="dave")
另外,我不确定您的第二个参数应该做什么;声明应如下所示:
class UserProfile(models.Model):
user = models.OneToOneField(User)
所有额外的参数都models.OneToOneField
应该是关键字参数。
正如凯茜所指出的,models.OneToOneField
暗示unique=True
. IIRC,这意味着 Django 将自动为该字段创建索引。db_index=False
(如果您不想要索引,则需要显式设置。)