我按以下方式声明了字段:
field = serializers.HyperlinkedRelatedField(
view_name='field-detail',
source='feature',
queryset=Field.objects.all()
)
你知道我怎么能暂时将这样的字段设置为read_only吗? 不幸的是,这种结构不起作用:(
serializer.Meta.extra_kwargs = {
'field': {'queryset': None, 'read_only': True}
}
当字段在模型中声明为ForeignKey时,它工作正常。
class Foo(models.Model):
field = models.ForeignKey(...)
class FooSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Foo
fields = ('url', 'field',...)
然后(如上所述),甚至:
serializer.Meta.read_only_fields = ('field',)
答案 0 :(得分:1)
尝试传递read_only
属性,同时在使用HyperlinkedRelatedField
field = serializers.HyperlinkedRelatedField(
view_name='field-detail',
lookup_field='feature',
# set read_only to True
read_only=True
)