Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DRF异常值:无法分配-它必须是实例_Python_Django_Rest_Django Rest Framework - Fatal编程技术网

Python DRF异常值:无法分配-它必须是实例

Python DRF异常值:无法分配-它必须是实例,python,django,rest,django-rest-framework,Python,Django,Rest,Django Rest Framework,我知道这个问题有很多问题,但我还没有解决。我第一次使用DRF,我正在使用嵌套序列化程序。我的餐厅序列化程序通过slug相关字段指向类别序列化程序,如下所示 class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = ( 'name', 'description' )

我知道这个问题有很多问题,但我还没有解决。我第一次使用DRF,我正在使用嵌套序列化程序。我的餐厅序列化程序通过slug相关字段指向类别序列化程序,如下所示

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = (
            'name',
            'description'
        )

class RestaurantSerializer(serializers.HyperlinkedModelSerializer):
    category = serializers.SlugRelatedField(
        many=True,
        read_only=False,
        queryset=Category.objects.all(),
        slug_field='name'
    )

    class Meta:
        model = Restaurant
        fields = (
            'id',
            'name',
            'description',
            'website',
            'twitter',
            'facebook',
            'instagram',
            'category'
        )
我通过jquery向端点发送创建新餐厅所需的所有数据,但我不断得到“无法分配”[]”:“Restaurant.Category”必须是“Category”实例

我知道我需要为餐厅的类别分配一个Category对象,尽管我不知道如何访问queryset来提取重要的对象

有什么建议吗

编辑:这是我从jquery发送到端点的数据

{"name":"Restaurant","email":"restaurant@gmail.com","password":"1234","category":["Italian food"],"description":"Description test"}
编辑#2参见下面的模型定义

class Restaurant(models.Model):
   name = models.CharField(max_length=80, null=False)
   description = models.TextField(max_length=300, null=False)
   email = models.EmailField(max_length=80, null=True)
   password = models.CharField(max_length=60, null=False)
   website = models.URLField(max_length=80, null=True)
   twitter = models.CharField(max_length=60, null=True, blank=True)
   facebook = models.CharField(max_length=60, null=True, blank=True)
   instagram = models.CharField(max_length=60, null=True, blank=True)
   category = models.ForeignKey('Category')

   def __unicode__(self):
       return self.name


class Category(models.Model):
  name = models.CharField(max_length=80, null=False)
  description = models.TextField(max_length=100, null=False)

  def __unicode__(self):
      return self.name

你有一个从餐厅到分类的外国钥匙。这意味着每个餐厅只有一个类别。但是您正在发送一个类别slug列表,并且在slagrelated字段的定义中有
many=True


您的数据应该是
{…”类别“:“意大利食品”…}
,您应该删除
many=True

您有一个从餐厅到类别的外国钥匙。这意味着每个餐厅只有一个类别。但是您正在发送一个类别slug列表,并且在slagrelated字段的定义中有
many=True


您的数据应该是
{…”类别“:“意大利食品”…}
,并且您应该删除
many=True

您可以显示您用于为
餐厅餐厅餐厅提供服务的确切数据吗?以及模型?特别是,餐厅和类别之间的关系是什么?请参见编辑#2了解模型定义。您可以显示用于为
餐厅试用者提供信息的确切数据以及模型?特别是,餐厅和类别之间的关系是什么?请参见编辑#2了解模型定义您是对的Daniel,非常感谢您的回答。您是对的Daniel,非常感谢您的回答。