我正在尝试保存一个模型对象,该对象具有引用另一个表的外键。尝试编写相同的序列化程序,但无法解决如何做到这一点,并且似乎无法找到正确的文档。我的模型对象:
class Restaurant(models.Model):
name = models.CharField(null=False, max_length=255)
min_order = models.CharField(null=False, max_length=255)
# And so on
class RMenuCategory(models.Model):
category_name = models.CharField(null=False, max_length=255)
restaurant = models.ForeignKey('Restaurant')
RMenuCategory
模型的序列化程序类:
class RestaurantMenuSerializer(serializers.ModelSerializer):
restaurant = serializers.PrimaryKeyRelatedField()
class Meta:
model = RMenuCategory
fields = ('id', 'category_name', 'restaurant')
使用json进行api调用:
{ "category_name" : "Italian", "restaurant_id" : 4}
当我在我的视图中尝试以下内容时,这不起作用:
menu_cat = RestaurantMenuSerializer(data=data)
if menu_cat.is_valid():
category = menu_cat.save()
else:
exit()
答案 0 :(得分:4)
将restaurant_id
更改为restaurant
:
{ "category_name" : "Italian", "restaurant" : 4}