【问题标题】:How to hide a field from the HTML form in the browsable Django Rest API?如何在可浏览的 Django Rest API 中隐藏 HTML 表单中的字段?
【发布时间】:2016-02-09 04:50:20
【问题描述】:

这个问题几乎解释了一切。如果 URL 允许 POST,则在满足适当权限的情况下在底部生成一个表单。如何从该表单中排除字段?

注意:我使用的是Django Rest Framework,我说的表单是框架在可浏览API中生成的表单。

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    我没有来自你的form 的任何信息,但DjangoForm 有exclude 属性,你可以通过self.exclude 访问它,它的类型也是list,所以你可以追加想要将其排除在外

    class Meta:
        model = Model
        exclude = ['field1', 'field2', ...]
    

    【讨论】:

    • 请参阅我添加到问题中的注释。很抱歉造成混乱。
    • 您的字段是由序列化程序生成的,您可以在某些情况下覆盖它
    【解决方案2】:
    item = Items.objects.get(pk=1).defer('field1')
    serializer = MySerializer(item)
    

    【讨论】:

    【解决方案3】:

    您可以像这样在序列化程序类中只提供必填字段

    class Meta:
            model = Model_name
            fields = (
                'id', 
                'field1',
                'field2'
            )
    

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 2020-06-26
      • 2023-04-08
      • 2016-03-24
      • 2013-01-15
      • 1970-01-01
      • 2016-04-04
      • 2023-03-17
      • 2014-09-22
      相关资源
      最近更新 更多