モデルがユーザーモードを拡張するアプリが1つあります。
class ExtendedUser (models.Model):
user = models.ForeignKey(User)
favorite_color = models.CharField(...
#...
ユーザーモデルの外部キーを持つ別のアプリがあります。
特定のユーザーに関連するすべての情報にアクセスするにはどうすればよいですか?
私の問題は、私が逆の関係を作ろうとすると起こります(私は思う)、これが私が試みることです:
>>from django.contrib.auth.models import User
>>from firstapp.models import ExtendedUser
>>a = User.objects.get(pk=1)
>>a
<User: username1>
>>b = a.favorite_color
AttributeError: 'User' object has no attribute 'favorite_color'
>>c = ExtendedUser.objects.get(pk=1)
>>c
<User: username1>
>>c.favorite_color
<Favorite_color: blue>
問題は、「a」を使用している場合、「favorite_color」などのユーザーの拡張モデル情報にアクセスできず、「c」を使用している場合、電子メールやパーマなどのユーザーモデルのネイティブ情報にアクセスできないことです。これを行う方法はありますか?
そしてまた、
1つのユーザーIDを選択して、そのオブジェクトに関連するすべてのフィールド(すべてのモデルとアプリから)を表示する方法はありますか?