Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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 最初的例外文本是:';QuerySet';对象没有属性';客户名称';_Python_Django_Serialization - Fatal编程技术网

Python 最初的例外文本是:';QuerySet';对象没有属性';客户名称';

Python 最初的例外文本是:';QuerySet';对象没有属性';客户名称';,python,django,serialization,Python,Django,Serialization,请使用序列化程序检查此错误。 我有两个模型客户和因素: models.py: class Customer(models.Model): customer_name = models.CharField(max_length=120 ,verbose_name='بنام') final_price = models.DecimalField(max_digits=20, decimal_places=0, default=0, verbose_name='مبلغ کل فاک

请使用序列化程序检查此错误。 我有两个模型客户和因素:

models.py:

class Customer(models.Model):
    customer_name = models.CharField(max_length=120 ,verbose_name='بنام')
    final_price = models.DecimalField(max_digits=20, decimal_places=0, default=0, verbose_name='مبلغ کل فاکتور')
    def __str__(self):
        return f'{self.customer_name}'

class Factor(models.Model):
    title = models.CharField(max_length=120 ,verbose_name='صورتحساب')
    name = models.ForeignKey(Customer,on_delete=models.CASCADE,verbose_name='بنام' ,related_name='factor_set')
    description = models.CharField(max_length=200 ,verbose_name='شرح کالا')
    price = models.DecimalField(max_digits=20, decimal_places=0, default=0.0,verbose_name='قیمت واحد')
    count =models.DecimalField(max_digits=20,decimal_places=0, default=1,verbose_name='تعداد')
    date = models.DateTimeField(default=datetime.datetime.now,null=True,verbose_name='تاریخ')


    def __str__(self):
        return f'{self.name}'
serializer.py:

class FactorModelSerializer(serializers.ModelSerializer):
    name = serializers.StringRelatedField(many=True)
    class Meta:
        model = Factor
        fields = '__all__'


class CustomerModelSerializer(serializers.ModelSerializer):
    factor_set=FactorModelSerializer(many=True)
    class Meta:
        model = Customer
        fields = '__all__'
views.py:

class GetAllData__(APIView):
    def get(self,request):
      query = Customer.objects.all()
      serializer=CustomerModelSerializer(query)
      return Response(serializer.data ,status=status.HTTP_200_OK)
URL.py:

from factor.views import GetAllData,GetAllData__

urlpatterns = [
    path('get-all-data--', GetAllData__.as_view()),

]
错误:

AttributeError位于/获取所有数据-- 试图获取序列化程序
CustomerModelSerializer
上的字段
customer\u name
的值时,获取了AttributeError。 序列化程序字段的名称可能不正确,并且与
QuerySet
实例上的任何属性或键都不匹配。
原始异常文本是:“QuerySet”对象没有属性“customer\u name”。

您需要提供源代码作为“factor\u set”,因为序列化程序正在从何处搜索放置customer\u name的位置

class FactorModelSerializer(serializers.ModelSerializer):
    name = serializers.StringRelatedField(many=True)
    class Meta:
        model = Factor
        fields = '__all__'


class CustomerModelSerializer(serializers.ModelSerializer):
    factor_set=FactorModelSerializer(many=True,source='factor_set')
    class Meta:
        model = Customer
        fields = '__all__'

现在给出此错误:在序列化程序“CustomerModelSerializer”中的字段“ListSerializer”上指定
source='factor\u set'
是多余的,因为它与字段名相同。删除
关键字参数。如果删除源会发生什么情况?错误:尝试获取序列化程序
CustomerModelSerializer
上的字段
因子集
的值时,获取AttributeError。序列化程序字段的名称可能不正确,并且与
QuerySet
实例上的任何属性或键都不匹配。原始异常文本为:“QuerySet”对象没有属性“factor_set”。没有删除所有源变量ToolIsSerializer它在哪里?