OneToOne関係でdb_indexとunique = True

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

from django.contrib.auth.models import User

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

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

1
一意にする必要はありません。OnetoOneField
追加された 著者 catherine,

1 答え

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

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

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

class UserProfile(models.Model):
    user = models.OneToOneField(User)

models.OneToOneField の余分な引数はすべてキーワード引数でなければなりません。

cathyが指摘するように、 models.OneToOneField unique = True を意味します。これは、Djangoが自動的にこのフィールドのインデックスを作成することを意味します。 (インデックスを必要としない場合は、 db_index = False を明示的に設定する必要があります)。

5
追加された
〜それは私が知りたかったものです)))
追加された 著者 oleg.foreigner,