1

django の User モデルを拡張しています。

from django.contrib.auth.models import User

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

それで、ユーザーフィールドで db_index=True と unique=True を使用することは可能ですか? 次に、ユーザー名による検索を実装する必要があります。私はスフィンクスについて考えました。これについて何か考えはありますか?多分良いチュートリアルへのリンク?ティア

4

1 に答える 1

6

ユーザー名で検索すると、次のようになります。

UserProfile.objects.filter(user__username="dave")

また、2番目のパラメーターが何をすべきかわかりません。宣言は次のようになります。

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 に答える