在 Django admin 中,可以设置 raw_id_fields 以便拥有搜索小部件而不是选择框。当外键表很大时,这非常简洁,可以节省大量数据库查询。
Django Rest Framework 可浏览视图中的等价物是什么?
在 Django admin 中,可以设置 raw_id_fields 以便拥有搜索小部件而不是选择框。当外键表很大时,这非常简洁,可以节省大量数据库查询。
Django Rest Framework 可浏览视图中的等价物是什么?
Django Rest Framework 3 不再支持序列化器字段上的小部件属性。但要让您的可浏览 API 甚至可用,请尝试更改style
要使用的属性'base_template': 'input.html'
,如下例所示:
class CustomerAddressSerializer(serializers.ModelSerializer):
customer = serializers.IntegerField(source='customer_id' style={'base_template': 'input.html', 'placeholder': "Customer ID"})
class Meta:
model = models.CustomerAddress
fields = ('id', 'customer', 'street', 'zip', 'city')
这样,您select
带有数千个外键的巨大标签options
将变为简单文本input
。有关更多信息,请查看http://www.django-rest-framework.org/topics/browsable-api/#handling-choicefield-with-large-numbers-of-items上的文档
目前没有什么可以支持这一点。我很确定拉请求会受到欢迎。
支持 Carlton 所说的话,尽管在尝试实施之前在票证中讨论是值得的。
或者,您可能想看看使用自动完成小部件......
http://www.django-rest-framework.org/topics/browsable-api/#autocomplete