2017-01-22 8 views
0

を取得できません。 私のコードは次のとおりです。Django RESTフレームワーク:Use OneToOneFieldはDjango RESTフレームワークを使用して、Use OneToOneFieldとRetrieveUpdateDestroyAPIViewがpkでGETできない場合、

models.py

class UserAccount(models.Model): 
    username = models.CharField(null=False, max_length=45) 
    password = models.CharField(null=False, max_length=16) 

class UserContactInfo(models.Model): 
    userAccount = models.OneToOneField(UserAccount, primary_key=True) 
    phone_number = models.CharField(null=True, blank=True) 
    email = models.CharField(null=True, blank=True, max_length=45) 

serializers.py

class UserAccountSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = UserAccount 
     fields = ('id', 'username', 'password') 


class UserContactInfoSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = UserContactInfo 
     fields = ('userAccount', 'phone_number', 'email') 

views.py

class UserContactInfoDetail(generics.RetrieveUpdateDestroyAPIView): 
    queryset = UserAccount.objects.all() 
    serializer_class = UserContactInfoSerializer 

urls.py

urlpatterns = [ 
    ... 
    url(r'^ContactInfo/(?P<pk>[0-9]+)/$', views.UserContactInfoDetail.as_view()), 
    ] 

[OK]を、私はUserContactInfoデータGETしよう:

GET http://127.0.0.1:8000/ContactInfo/1/ 

をし、間違って行く:私を助けることができる

AttributeError at /ContactInfo/1/ 
'UserAccount' object has no attribute 'userAccount_id' 

Request Method: GET 
Request URL: http://127.0.0.1:8000/ContactInfo/1/ 
..... 

はそれを修正します。ありがとう!

答えて

0

私はクエリセットで、ビューにタイプミスがあると思う:
queryset = UserAccount.objects.all()代わりのUserContactInfo.objects.all()

+0

はありがとうございました!!それは私の不注意な間違いです! – nghuyong

関連する問題