【问题标题】:django rest frame work tutorial 4 serializer conceptdjango rest框架教程4 序列化器概念
【发布时间】:2013-01-03 13:26:26
【问题描述】:

我在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 的导入部分没有找到所有者。

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

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

【问题讨论】:

    标签: django-rest-framework


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-29
      • 2020-03-22
      • 2015-10-29
      • 2020-05-08
      • 2020-12-22
      • 2018-12-13
      • 2016-03-31
      • 1970-01-01
      相关资源
      最近更新 更多