属性错误: 'int'对象没有属性'pk'



有两个外键到同一模型的问题,当我发布数据时,我得到了错误AttributeError: 'int'对象没有属性'pk'"还有更多。

模型
class OrderProductsModel(models.Model):
fk_user = models.ForeignKey(CustomUser, null=True, blank=True, on_delete=models.SET_NULL, related_name="fk_user")
fk_seller = models.ForeignKey(CustomUser, null=True, blank=True, on_delete=models.SET_NULL, related_name="fk_seller")

观点

class MyView(APIView):
def get_seller(self, request, product):
product_order = ProductModel.objects.get(id=product)
print("product = ",type(product_order)) = <class 'products.models.ProductModel'>
print("ID User owner of the product==> ", product_order.fk_user_id.id) ==> 2
seller_order = CustomUser.objects.get(id=product_order.fk_user_id.id)
return seller_order
def post(self, request):
if request.method == "POST":
items = request.data
for k in range(len(items)):
items[k]["fk_user"] = request.user.id (Works fine)
items[k]["fk_seller"] = self.get_seller(request, items[k]["fk_product"]) (Not works)

序列化器

from rest_framework import serializers
from order_products.models import OrderProductsModel
class OrderProductsSerializer(serializers.ModelSerializer):
class Meta:
model = OrderProductsModel
fields = "__all__"
误差

File "C:FooBaaretcenvlibsite-packagesrest_frameworkrelations.py", line 273, in to_representation
return value.pk
AttributeError: 'int' object has no attribute 'pk'

错误是在查询中,在get_seller函数中,这一个工作

def get_seller(self, request, product):
# Get the product
product_order = ProductModel.objects.get(id=product)
# Access to the foreign key in the product model field 
seller_order = product_order.fk_user_id_id
return seller_order

最新更新