Django-vue: невозможно правильно получить доступ к элементам объекта, переданным в качестве параметров. ⇐ Python
Django-vue: невозможно правильно получить доступ к элементам объекта, переданным в качестве параметров.
У меня есть несколько сущностей: Заказ, Компания, Продукция. Таблица заказов содержит подробную информацию, включая (компанию, продукцию, количество...). Но почему-то не могу отобразить некоторую информацию Ордена.
Вот мой код в деталях.
models.py
# модель компании Компании класса(модели.Модель): Company_id = models.AutoField(primary_key=True) order_number = models.CharField(max_length=500) имя_компании = models.CharField(max_length=500) Company_email = models.CharField(max_length=500) класс Мета: db_table = "компании" # модель продукта Продукты класса(модели.Модель): Product_id = models.AutoField(primary_key=True) Product_name = models.CharField(max_length=500) класс Мета: db_table = "продукты" № модели Заказать Класс Orders(models.Model): order_id = models.AutoField(primary_key=True) order_number = models.CharField(max_length=500) statut = models.CharField(max_length=500, default="validé") date_of_order = models.DateField() компания = модели.ForeignKey(Компании, on_delete = модели.CASCADE) мера = модели.ForeignKey(Меры, on_delete = модели.CASCADE) продукты = модели.ManyToManyField(Products,through='OrderDetail') класс Мета: db_table = "заказы" # модель Деталь заказа класс OrderDetail(models.Model): заказ = модели.ForeignKey(Заказы, связанное_имя='order_details', on_delete=models.CASCADE) продукт = модели.ForeignKey(Продукты, связанное_имя='order_details', on_delete=models.CASCADE) Product_quantity = models.PositiveIntegerField(по умолчанию=1) класс Мета: db_table ="order_details serializers.py
класс OrderDetailsSerializer(serializers.ModelSerializer): продукт = ProductSerializer(read_only=True) компания = CompanySerializer(read_only=True) класс Мета: модель = Деталь заказа поля = '__all__' класс OrdersSerializer(serializers.ModelSerializer): order_details = OrderDetailsSerializer(many=True, read_only=True) продукты = ProductSerializer(many=True, read_only=True) компания = CompanySerializer() класс Мета: модель = Заказы поля = '__all__' views.py
класс OrderViewSet(viewsets.ModelViewSet): набор запросов = Orders.objects.all() сериализатор_класс = Сериализатор заказов класс OrderDetailsViewSet(viewsets.ModelViewSet): набор запросов = OrderDetail.objects.all() сериализатор_класс = СериализаторДетали заказа -OrderList.vue-
Командный номер Дата Статут {{ order.order_number }} {{ новая дата(order.date_of_order).toLocaleDateString(ДД - ММ - ГГГГ) }} {{ заказ.статут }}
импортировать {ref} из "vue"; константные заказы = ref([]); const getOrders = асинхронный (порядок) => { пытаться { const data = await axios.get("http://localhost:49146/orders-list"); это.заказы = данные.данные; } поймать (ошибка) { предупреждение (ошибка); console.log(ошибка); } };
DetailOrder.vue
{{ order.order_number }} {{ order.company_name }}, адрес электронной почты: {{ order.company_email}} Детали заказа Ду: {{ новая дата(order.date_of_order).toLocaleDateString( ДД-ММ-ГГГГ ) } №: {{ order.order_number }} Описание Количество {{ order_detail.product.product_name }} {{ order_detail.product_quantity }} импортировать аксиомы из «аксиом»; импортировать { useRoute } из "vue-router" const маршрут = useRoute(); const order_id = ref(route.params.order_id); const getSingleOrder = async () => { axios.get(API_URL + "список заказов/" + `${order_id.value}`) .then((ответ) => { заказ.значение = ответ.данные; }) .catch((ошибка) => { console.error(ошибка); }); }; onMounted(() => { getSingleOrder(); }); Заказномер_заказа, дата_заказа отображаются, но что такое:имя_компании, адрес_компании, они не отображаются.
Что я сделал не так в своем коде?
Заранее спасибо
У меня есть несколько сущностей: Заказ, Компания, Продукция. Таблица заказов содержит подробную информацию, включая (компанию, продукцию, количество...). Но почему-то не могу отобразить некоторую информацию Ордена.
Вот мой код в деталях.
models.py
# модель компании Компании класса(модели.Модель): Company_id = models.AutoField(primary_key=True) order_number = models.CharField(max_length=500) имя_компании = models.CharField(max_length=500) Company_email = models.CharField(max_length=500) класс Мета: db_table = "компании" # модель продукта Продукты класса(модели.Модель): Product_id = models.AutoField(primary_key=True) Product_name = models.CharField(max_length=500) класс Мета: db_table = "продукты" № модели Заказать Класс Orders(models.Model): order_id = models.AutoField(primary_key=True) order_number = models.CharField(max_length=500) statut = models.CharField(max_length=500, default="validé") date_of_order = models.DateField() компания = модели.ForeignKey(Компании, on_delete = модели.CASCADE) мера = модели.ForeignKey(Меры, on_delete = модели.CASCADE) продукты = модели.ManyToManyField(Products,through='OrderDetail') класс Мета: db_table = "заказы" # модель Деталь заказа класс OrderDetail(models.Model): заказ = модели.ForeignKey(Заказы, связанное_имя='order_details', on_delete=models.CASCADE) продукт = модели.ForeignKey(Продукты, связанное_имя='order_details', on_delete=models.CASCADE) Product_quantity = models.PositiveIntegerField(по умолчанию=1) класс Мета: db_table ="order_details serializers.py
класс OrderDetailsSerializer(serializers.ModelSerializer): продукт = ProductSerializer(read_only=True) компания = CompanySerializer(read_only=True) класс Мета: модель = Деталь заказа поля = '__all__' класс OrdersSerializer(serializers.ModelSerializer): order_details = OrderDetailsSerializer(many=True, read_only=True) продукты = ProductSerializer(many=True, read_only=True) компания = CompanySerializer() класс Мета: модель = Заказы поля = '__all__' views.py
класс OrderViewSet(viewsets.ModelViewSet): набор запросов = Orders.objects.all() сериализатор_класс = Сериализатор заказов класс OrderDetailsViewSet(viewsets.ModelViewSet): набор запросов = OrderDetail.objects.all() сериализатор_класс = СериализаторДетали заказа -OrderList.vue-
Командный номер Дата Статут {{ order.order_number }} {{ новая дата(order.date_of_order).toLocaleDateString(ДД - ММ - ГГГГ) }} {{ заказ.статут }}
импортировать {ref} из "vue"; константные заказы = ref([]); const getOrders = асинхронный (порядок) => { пытаться { const data = await axios.get("http://localhost:49146/orders-list"); это.заказы = данные.данные; } поймать (ошибка) { предупреждение (ошибка); console.log(ошибка); } };
DetailOrder.vue
{{ order.order_number }} {{ order.company_name }}, адрес электронной почты: {{ order.company_email}} Детали заказа Ду: {{ новая дата(order.date_of_order).toLocaleDateString( ДД-ММ-ГГГГ ) } №: {{ order.order_number }} Описание Количество {{ order_detail.product.product_name }} {{ order_detail.product_quantity }} импортировать аксиомы из «аксиом»; импортировать { useRoute } из "vue-router" const маршрут = useRoute(); const order_id = ref(route.params.order_id); const getSingleOrder = async () => { axios.get(API_URL + "список заказов/" + `${order_id.value}`) .then((ответ) => { заказ.значение = ответ.данные; }) .catch((ошибка) => { console.error(ошибка); }); }; onMounted(() => { getSingleOrder(); }); Заказномер_заказа, дата_заказа отображаются, но что такое:имя_компании, адрес_компании, они не отображаются.
Что я сделал не так в своем коде?
Заранее спасибо
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение