Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 FieldError:无法解析关键字';shopfavorite';进入现场:Django_Python_Django_Django Rest Framework - Fatal编程技术网

Python FieldError:无法解析关键字';shopfavorite';进入现场:Django

Python FieldError:无法解析关键字';shopfavorite';进入现场:Django,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在使用reverseforeignkey使用django预定义函数预取相关的。但我得到了一个错误:FieldError:无法将关键字“shopfointer”解析到字段中。 我还通过命令行得到了这个错误:AttributeError:在ShopOwnerShopDetails对象上找不到'shopfavorite\u set',shopfavorite\u set'是一个无效的参数,无法预取相关的() 确切的问题是什么?如有任何帮助,将不胜感激。事先非常感谢你 型号: class User(

我正在使用reverse
foreignkey
使用django预定义函数
预取相关的
。但我得到了一个错误:
FieldError:无法将关键字“shopfointer”解析到字段中。

我还通过命令行得到了这个错误:
AttributeError:在ShopOwnerShopDetails对象上找不到'shopfavorite\u set',shopfavorite\u set'是一个无效的参数,无法预取相关的()

确切的问题是什么?如有任何帮助,将不胜感激。事先非常感谢你

型号:

class User(AbstractBaseUser, PermissionsMixin):
    # common fields
    name = models.CharField(max_length=50)
    email = models.EmailField(unique=True)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = CustomUserManager()

class ShopOwnerShopDetails(models.Model):
    shop_name = models.CharField(max_length=80, blank=True, null=True)
    shop_location = models.CharField(max_length=200)

class ShopFavorite(models.Model):
    shop_id = models.ForeignKey(ShopOwnerShopDetails, on_delete=models.CASCADE, related_name='favorite_shop_id')
    favorited_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user_favorite_shop')

观点:

class GarageShopListView(ListAPIView):
    permission_classes = (IsAuthenticated,)
    def get(self,request,*args,**kwargs):
        user = request.user

        queryset = ShopOwnerShopDetails.objects.filter(
                shopfavorite__favorited_by=user
                ).prefetch_related('shopfavorite_set',)
        serializer = ShopOwnerShopDetailsSerializer(queryset, many=True, context={'request': request})
        data = serializer.data

您得到的错误很明显:您试图从
ShopOwnerShopDetails
访问
shopfavorite\u集
,而此模型没有任何指向用户的FK

如果我理解正确,您希望获得当前用户最喜爱的商店列表。 在这种情况下,我将使用不同的查询集

queryset=ShopFavorite.objects.filter(
favorited_by=用户
).选择相关('favorited'u by'、'shop'u id')

然后在序列化程序中,您可以访问
用户
店主详细信息
实例

您可以向我们展示您的
用户
类吗?@OliverHnat我已经编辑了我的问题。请看一下。
ShopOwnerShopDetails
没有FK to User,您不应该使用
shopfointer