尝试更改django detailView上的相关模型时获取属性错误

尝试更改django detailView上的相关模型时获取属性错误,django,django-models,django-views,Django,Django Models,Django Views,我有一个CarRent车型,它是车型的外键,在CarRent detailView上付款后我想更改CarRent车型和车型,代码对CarRent车型很有效,但更改车型会导致“AttributeError at/Car/requests/4/ 类型对象“Car”没有属性“object”错误 class Car(models.Model): car_owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='c

我有一个CarRent车型,它是车型的外键,在CarRent detailView上付款后我想更改CarRent车型和车型,代码对CarRent车型很有效,但更改车型会导致“AttributeError at/Car/requests/4/ 类型对象“Car”没有属性“object”错误

class Car(models.Model):
    
    car_owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='car_owner', on_delete=models.CASCADE)
    car_model = models.CharField(max_length=20, blank=True, null=True)
    rented = models.BooleanField(default=False)



class CarRent(models.Model):

    car = models.ForeignKey(Car, related_name='rented_car', on_delete=models.CASCADE)
    driver = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='driver_renting', on_delete=models.CASCADE)
    active_rent = models.BooleanField(default=False, null=True)
    rent_paid = models.BooleanField(default=False)



@login_required
@driver_required(redirect_field_name='app:home')
@csrf_protect
def car_rent_detail_view(request, pk):
    object = get_object_or_404(CarRent, id=pk)

    # queryset = Car.objects.get(id=pk)
    car_object = get_object_or_404(queryset, id=pk)

    paystack = PaystackAccount(
        settings.PAYSTACK_EMAIL,
        settings.PAYSTACK_PUBLIC_KEY,
        object.total_cost
    )


    context = {'object': object, 'pk_public': settings.PAYSTACK_PUBLIC_KEY, 'currency': 'NGN', 'paystack': paystack,
               }


    if request.method == 'POST':
        if paystack.verify_transaction(request.POST['reference']):
            messages.success(request, "paystack payment successfull")
            car_rented = Car.object.get(pk=pk)
            car_rented.rented = True

            rent_activation = CarRent.objects.get(pk=pk)
            rent_activation.active_rent = True
            rent_activation.rent_paid = True
            rent_activation.save()
            messages.success(request, "Your Rent has successfully being updated")

    return render(request, 'app/CarRent_detail.html', context=context)

非常感谢您的帮助。

这是一个输入错误,您需要使用
对象来访问管理器方法,而不是对象。因此,请替换:

car_rented = Car.object.get(pk=pk)
                 ^^^^^^
与:


您可以通过
相关的\u名称
(即“租用的\u汽车”)将查询从汽车模型反向到CarRent。更多信息可以在中找到。

谢谢您的回答,代码运行时没有任何错误,但我没有得到预期的结果,因为不同的车型受到影响,问题似乎是
CarRent
的pk值与相关
Car
的pk值不同。我需要一种方法来使用queryset选择与特定CarRent相关的汽车。请查看更新的答案谢谢!工作得很有魅力。
car_rented = Car.objects.get(rented_car__pk=pk)