2015-07-21 2 views
4

Я пытаюсь сохранить объект модели, у которого есть внешний ключ, ссылающийся на другую таблицу. Попытка написать сериализатор для того же самого, однако не может окутать голову, как это сделать, и, похоже, не может найти правильную документацию. Моя модель объектов:Django Serializer Сохранить модели с отношениями внешних ключей

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 как:

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

Это не работает, когда я опробовать на мой взгляд:

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

ответ

3

Смена restaurant_id на restaurant:

{ "category_name" : "Italian", "restaurant" : 4} 
Смежные вопросы