2013-01-20 49 views
1

我完成了教程1-4在http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html並獲得代碼運行。django休息框架工作教程4串行器概念

不過,我不能完全理解的解釋周圍:

owner = serializers.Field(source='owner.username') 

我通過實地混淆爲參照哪個領域。

1.例如,在models.py的Snippet類中定義了一個owner字段。在https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey查看後,它說ForeignKey()返回一個類。它是否會返回auth.User課程?

2.如果是的話,什麼 「所有者」 請問

owner = serializers.Field(source='owner.username') 

指什麼?我沒有在serializers.py的進口部分找到店主。

3. serializers.Field(source='owner.username')返回什麼?它是否返回auth.User中的用戶名?

4.如果相應的模型具有對另一個表的字段引用,我們是否應該在序列化程序類中添加相應的字段?

回答

0

source ='owner.username'將轉換爲'user.username',因爲owner只不過是FK-User而已。

請注意,字段左側的'所有者'在這裏並不重要,在您的情況下。即,您仍然可以添加自定義字段,如:

xyz = serializers.Field(source='owner.username')