2015-07-21 106 views
4

我试图保存具有引用另一个表的外键的模型对象。试图编写相同的序列化程序,但无法包装我的头如何做到这一点,似乎无法找到正确的文档。我的模型对象:Django串行器保存具有外键关系的模型

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') 

使得API调用使用JSON为:

{ "category_name" : "Italian", "restaurant_id" : 4} 

这不工作时,我尝试了在我看来:

menu_cat = RestaurantMenuSerializer(data=data) 
     if menu_cat.is_valid(): 
      category = menu_cat.save() 
     else: 
      exit() 

回答

3

更改restaurant_idrestaurant

{ "category_name" : "Italian", "restaurant" : 4}