django rest framework如何实现nest field显示,如何保存有外键的字段更新
2017-03-23 11:29
761 查看
一步一步深入了。
相关设置技巧如下:
直接nest field显示:
如何自定义更新有外键的记录:
相关设置技巧如下:
直接nest field显示:
class VersionPoolSerializer(serializers.ModelSerializer): site_name = serializers.ReadOnlyField(source='site_name.name') dep_version = DeployPoolSerializer(many=True, required=False, read_only=True) create_user = serializers.ReadOnlyField(source='create_user.username') class Meta: model = VersionPool fields = ('id', 'name', 'site_name', 'dep_version', 'create_user', 'add_date')
如何自定义更新有外键的记录:
class VersionPoolViewSet(viewsets.ModelViewSet): """ This viewset automatically provides `list`, `create`, `retrieve`, `update` and `destroy` actions. Additionally we also provide an extra `highlight` action. """ queryset = VersionPool.objects.all() serializer_class = VersionPoolSerializer authentication_classes = (TokenAuthentication,) paginate_by = 10 def get_queryset(self): print (self.request.user, '##################') print(self.request.auth, '##################') queryset = self.queryset return queryset def create(self, request, *args, **kwargs): name = request.data['name'] site_name = request.data['site_name'] validated_data = dict() validated_data['name'] = site_name + "-" + name validated_data['site_name'] = Site.objects.get(name=site_name) validated_data['create_user'] = request.user try: VersionPool.objects.create(**validated_data) response_data = { 'name': site_name + "-" + name, 'create_user': request.user.username, 'message': 'version item save success.' } return Response(response_data, status=status.HTTP_201_CREATED) except: response_data = { 'name': site_name + "-" + name, 'create_user': request.user.username, 'message': 'version item save failed.' } return Response(response_data, status=status.HTTP_400_BAD_REQUEST)
相关文章推荐
- 更新操作如何防止带外键的字段出现重复,代码实现方法
- 在Django 中更新mongodb的ListField字段
- [转]mysql如何设置主键和外键,实现级联更新、级联删除
- django自定义Field实现一个字段存储以逗号分隔的字符串
- django自定义Field实现一个字段存储以逗号分隔的字符串
- 演示如何实现Matplotlib绘图并保存图像但不显示图形的方法
- 如何让django中的admin组件的表的字段显示为中文
- 【高分求助】如何实现对某一字段的累加更新?求助各位达人,谢谢!
- [mysql] mysql如何实现更新一条记录中某个字段值的一部分呢?
- mongodb如何实现更新一个字段的值为另外一个字段的值?
- RM2011 Lookup类型字段实现多选及保存、显示
- PB datawindow 数据窗口字段保存显示超过255个字符,要如何设置?
- django如何使ForeignKey字段显示树状结构
- 更新一个表,字段名不确定 java如何实现
- hibernate如何实现部分字段更新
- django如何使ForeignKey字段显示树状结构
- [django]如何在 list_filter 中包含外键字段
- [django]如何在 search_fields 中包含外键字段
- 【高分求助】如何实现对某一字段的累加更新?求助各位达人,谢谢!
- Django REST framework 的TokenAuth认证及外键Serializer基本实现