2017-10-26 21 views
0

theresの何か私は行方不明か分からない、おそらく非常に基本的な概念です。Djangoアクセス関連のモデル

私はこのようOneToOneFieldによって関連する2つのモデル人や学生、持っている:私はstudent_setを持つ人からの学生にもアクセスできるようになりShould't

class Student(models.Model): 
    person = models.OneToOneField(
     Person, 
     on_delete = models.CASCADE, 
    ) 
    # fields definition 

を?

このよう

が、以下のように、私はドエラーを取得する:

>>> from people.models import Person 
>>> p = Person.objects.get(pk=6) 
>>> p.student_set.all() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
AttributeError: 'Person' object has no attribute 'student_set' 
>>> 

感謝を!

+1

oneToOneRelationの場合は、なぜ返されると思われますか?ただperson.studentかstudent.person –

答えて

2

あなたが探している答えは、文字通り「1対1の関係」という言葉にありますが、ここで返されるのは設定されていませんが、直接の関係です。 p.studentがその人物に関連する生徒オブジェクトにアクセスしようとしています

+0

それは今明らかです。私は、英語は私の最初の言語ではないので、私は 'セット'の意味を忘れていたと思う。 –

関連する問題