ModelSerializer外键反序列化的问题
来源:9-4 用户个人信息修改
qq_且歌且行_4
2019-06-01
老师 在使用 ModelSerializer的时候,
class Category(models.Model)
name = models.CharField()
class Book(models.Model):
name = models.CharField()
category = models.ForeignKey('category',on_delete=models.PROTECT, related_name="book_cate")
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = '__all__'
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
大概是这样,现在前端创建Book的时候 传来的是category 的主键,也就是int类型的ID,
问题是在serializer.is_valid验证的时候说要传一个字典,不能传一个int型的数字,如果不单独写一个创建book的序列化器,或者不另外增加别的验证字段,有什么办法验证通过。category这个字段名最好不要改。
写回答
1回答
-
其实这种你可以通过drf自带的创建页面测试。然后在后端打个断点然后看看drf自带的文档功能这个外键是否是id,因为这里传id是可以的,是否传的id的值不存在呢?
122019-06-05
Python前后端分离开发Vue+Django REST framework实战
Django REST framework课程视频,RESTFul API前后端分离开发
2873 学习 · 2457 问题
相似问题
为什么没有的字段也可以序列化
回答 1
如何自定义序列化器?
回答 1
如果在自定义序列化中定义一个外键字段?
回答 1
DRF关联模型序列化
回答 1
老师,想问一下数据库设计时候的外键及索引
回答 1