0
我正在構建一個公開REST API的Django應用程序,用戶可以通過它來查詢我的應用程序的模型。我遵循here的說明。如何獲取外鍵模型出現在Django-Serializer中?
我的兩個型號有:
- Django的用戶模型從django.contrib.auth
下面顯示的模型。
class Profile(models.Model): user = models.OneToOneField(User)
我Serialiazers如下:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email',)
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Profile
fields = ('id', 'slug', 'user',)
我可以看到,這是工作的時候,我打在命令行的API:
% curl -H 'Accept: application/json; indent=4' -u root:MyPassword http://127.0.0.1:3001/api/profiles/60/
{
"id": 60,
"slug": "myprofile",
"user": "http://127.0.0.1:3001/api/users/16/"
}
% curl -H 'Accept: application/json; indent=4' -uroot:MyPassword http://127.0.0.1:3001/api/users/16/
{
"url": "http://127.0.0.1:3001/api/users/16/",
"username": "myUser",
"email": "[email protected]"
}
我想知道是兩件事:
- 如何更改我的Profile的序列化程序,以便用戶的用戶名顯示在序列化的配置文件中?
- 我該如何公開這個API,因此即使沒有根/密碼登錄也能正常工作?
同樣的問題在這裏去年發佈,解答:http://stackoverflow.com/questions/15649522 /串行化-A-模型,其-具有-A-外鍵到的django-AUTH-用戶?RQ = 1 –