【发布时间】:2021-04-08 21:18:04
【问题描述】:
我正在使用 Django REST 框架来创建 API。假设我有以下模型:
class Category(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Item(models.Model):
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, related_name='items')
def __unicode__(self):
return self.name
我想为 Item 编写一个序列化程序,使其在序列化(即读取)期间返回“category_name”,然后在反序列化(即写入)期间返回“category_name”并将其转换为类别[您可以假设 category_name 是在其表中独一无二]
我找到了this link,它解决了读取问题,但不适用于写入。
class ItemSerializer(serializers.ModelSerializer):
category_name = serializers.CharField(source='category.name')
class Meta:
model = Item
fields = ('id', 'name', 'category_name')
有没有办法对其进行修改,使其可用于通过 API 填充新项目?
【问题讨论】:
标签: django django-rest-framework