2016-04-17 10 views
0

を拡張してDjangoのモデルに名前を付ける:は、ユーザーの名前の後に、それは私が持っている私のモデルで

class Collaborator(models.Model): 
     user = models.OneToOneField(User, on_delete=models.CASCADE) 
     photo = models.ImageField(verbose_name= 'fotografia', upload_to='collaborators') 

Django Docsによれば、これはユーザーオブジェクトを拡張するための正しい方法ですが、私は上の参照を見つけることができませんでしたユーザーの後にこの "協力者"の名前を付ける方法。

私はDjango Admin Interfaceを参照しています。これは、Collaboratorを作成すると、 "Collaborator object"という名前のオブジェクトになります。コラボレーターがユーザーの名前で表示される方法はありますか?

答えて

3

Models Docsで説明したようにあなたは、__str__メソッドを定義する必要があります。

class Collaborator(models.Model): 
    user = models.OneToOneField(User, on_delete=models.CASCADE) 
    photo = models.ImageField(verbose_name= 'fotografia', upload_to='collaborators') 

    def __str__(self): 

     return self.user.first_name #or whatever else you want. 
+1

学習ジャンゴと基本的なPythonの/オブジェクトプログラミングを忘れます。ありがとうございました! – NBajanca

関連する問題