1

我正在扩展 django 的用户模型。

from django.contrib.auth.models import User

class UserProfile(models.Model):
    user = models.OneToOneField(User, _(u"User"))

那么,是否可以将 db_index=True 和 unique=True 与用户字段一起使用?然后我需要通过用户名实现搜索。我想到了斯芬克斯。对此有什么想法吗?也许一些链接很好的教程?TIA

4

1 回答 1

6

按用户名搜索就是:

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(如果您想要索引,则需要显式设置。)

于 2013-02-07T13:15:29.177 回答