私はモデルプロファイルと 'Nation'と呼ばれる別のモデルを持っています。このモデルはプロファイルとユーザーをForeignKeysとして扱います。モデルの関係が失敗し、テンプレートでデータを取得できない
それはこのように、ここで
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
user_type=models.CharField(max_length=10, choices=M_CHOICES)
class Nation(models.Model):
user= models.ForeignKey(User, related_name='natuser')
profile = models.ForeignKey(Profile, related_name='nat_hr')
ref_number = models.CharField(max_length=20, default=pm_tag)
ロジックは、ユーザのタイプをチェックし、フィールドの値 'は、ユーザモデルに関連を示すようになっています。このために、我々は、ユーザタイプが国家モデルに属していることを確認した後
ビューでは、私は、テンプレート内
@login_required
def profile_detail(request, username):
user= get_object_or_404(User, username=username)
try:
the_detail= user.profile
except ObjectDoesNotExist:
return None
をした、ユーザーがそう彼の参照番号を取得するには、国家モデルに属していると考えています、私はユーザーref_numberを取得するために、以下のコードを書いたが、それは失敗している。
{{the_detail.nat_hr.ref_number}}
{{the_detail.user.profile.nat_hr.ref_number}}
related_nameを使用してテンプレートを使用してモデルに属するデータを取得する方法はありますか?
エラー: 'the_detail.nat_hr.all()'の '()'。 – YoYo
@YoYo申し訳ありませんが、それはちょうど '.all'でなければなりません。 –
完了しました。ありがとう! – YoYo