Получаем ошибку с _set в Django Query-Set, объект не имеет атрибута
Я использую _set для создания ManyToMany
отношений между клиентом и сервисом, но в итоге получаю ошибку:
AttributeError at /customer/1/
у объекта 'carOwner' нет атрибута 'serviceOrderX_get'
Есть ли кто-нибудь, кто хочет мне помочь...
models.py
...
class carOwner(models.Model):
name_X = models.CharField( max_length=150, null=True)
email_X = models.CharField( max_length=150, null=True)
phoneNo_X =models.CharField( max_length=150, null=True)
def __str__(self):
return self.name_X
class serviceOrderX(models.Model):
CATEGORES = (...)
carName_X = models.CharField( max_length=150, null=True)
carNO_X = models.CharField( max_length=150, null=True)
carOwner_X = models.ManyToManyField(carOwner)
catagores_X = models.CharField(max_length=200,null=True,choices=CATEGORES)
price_X = models.IntegerField( null=True)
service_X = models.ManyToManyField(orderService)
def __str__(self):
return str(f'{self.carName_X} , {self.carNO_X}')
views.py
...
def CustomerX(request , pk):
customersX = carOwner.objects.get(id=pk)
cuter = customersX.serviceOrderX_get.all()
contX = {
'customer' : cuter ,
}
return render(request, 'customer.html' , contX)
Я думаю, что у вас просто опечатка в коде. Должно быть set
вместо get
-> customersX.serviceOrderX_set.all()
Смотрите https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/
Вы также можете установить related_name
на вашем ManyToManyField, например service_orders
, чтобы вы могли делать customersX.service_orders.all()
Btw. просто подсказка, использование верблюжьего регистра для ваших полей в python не является хорошим стилем.
Просто делайте car_owner_x
, а для имен классов используйте, например, `ServiceOrderX
https://peps.python.org/pep-0008/
Если вы хотите связать поле, первым аргументом, который вы должны добавить, будет имя модели, которую вы хотите связать. В вашем случае вы можете исправить это
class serviceOrderX(models.Model):
# change here
service_X = models.ManyToManyField(carOwner)
подробнее читайте здесь: https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/