2011-07-08 17 views
2

データベースのスキルが弱いと言うことから始めますが、これは間違いです。モデル内からDjangoのログイン名を参照する

私はDjango 1.3アプリケーションを開発しています.Django 1.3アプリケーションでは、ユーザーがログインして「アカウント」のさまざまな側面を見ることができます。モデルの1つは「顧客」であり、そのモデルに「username」というフィールドを追加して、各顧客に属するプロジェクト、支払いなどを表示することができます。

私はセットアップ私のスキーマの多くを持っているが、私は、Djangoのログイン名を参照する「ユーザ名」フィールドを作成する方法を見つけ出すことはできません。あなた平均のフィールドである私は、私は必要だと思うものを を明確にするために何か

projects = models.ManyToManyField('Project') website = models.URLField() 

などの更新を探します: 名= models.ForeignKey(WhereverDjangoKeepsTheUserModel)

は私が from django.contrib.auth.models import User と を必要 を解決しましたusername = models.ForeignKey(User)

Acceptiそれは私が必要とする特定の作品を見つけるのを助けたので、ジャック・Mの答え。

答えて

4

あなたはおそらくForeignKey relationshipを探しています。あなたのビュー内から次に

projects = models.ManyToManyField('Project') 
website = models.URLField() 
user = models.ForeignKey('User') 

project = Project.objects.all()[0] 
username = project.user.username ## Or whatever you want to do with it. 

この詳細情報は、The Django Bookchapter 5で「あなたの最初のモデル」のセクションをご覧ください。

+0

私は外部キーを取得し、アプリケーションのどこかで使用しました。私の質問は、モデル内からユーザー名データを取得する方法です。 たとえば、返信には user = models.ForeignKey( 'User') が含まれていますが、これは既にユーザー情報が含まれているモデルがあると思われます。私はmodels.pyの中からそのデータにアクセスする方法を理解しようとしています。そのため、外部キーやその他のものとして追加することができます。あるいは、私はちょうど誤解していますか? – Josh

+0

"私のカスタムモデル内からDjangoのユーザーモデルをどのように参照するのですか?"同様に クラスCustomer(models.Model): username = models.ForeignKey(TheUsernameUsedToLogIntoDjangoPage) – Josh

+0

参照しているフィールドが主キーでない限り、そうしないでしょう。オブジェクトを参照し、私のビューコードで行ったように、その関係を通してユーザー名にアクセスします。 –

関連する問題