1

我在http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html完成了教程 1-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

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

4.如果对应的模型有对另一个表的字段引用,我们是否应该在序列化器类中添加对应的字段?

4

1 回答 1

0

source = 'owner.username' 将转换为 'user.username' 因为所有者只不过是 FK-User。

请注意,在您的情况下,字段左侧的“所有者”在这里并不重要。即,您仍然可以添加自定义字段,例如,

xyz = serializers.Field(source='owner.username')
于 2013-02-01T09:20:07.280 回答