繁体   English   中英

django rest 框架 - 用户名字段未以可浏览的 api html 形式呈现

[英]django rest framework - username field not rendering in browsable api html form

Django Rest Framework 没有在我的可浏览 api html 表单中显示username名字段,但是当我在下面的代码中注释掉用户名时,它在我的可浏览 api html 表单中显示了用户名字段。 我是 Django 的新手,所以任何人都可以在这里帮助我

from rest_framework import serializers
from .models import Note

class NoteSerializer(serializers.ModelSerializer):
    url = serializers.HyperlinkedIdentityField(view_name='note-detail', lookup_field='pk')
    #username = serializers.StringRelatedField(many=False)
    class Meta:
        model = Note
        fields = ['url', 'id', 'username', 'note_text', 'created_date', 'updated_date']

模型序列化程序将根据模型自动为您生成一组字段

StringRelatedField用于表示使用__str__方法计算目标结果的关系。 如果您查看源代码,您会注意到StringRelatedField只是只读的。 由于无法编辑该值,因此您不会在可浏览的 API HTML 表单中看到它。

注释该行后,将使用外键关系并返回用户的 id。 在这种情况下,您确实会在表单中看到字段username但该值不是字符串而是整数。

我认为没有办法在表单中使StringRelatedField可编辑。 有关更多信息,请查看相关SO 帖子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM