Как я могу получить конкретную переменную

#python #django

#python #django

Вопрос:

Привет, я хочу получить определенное поле для переменной

Для этого у меня есть модель заказа:

 class Order(models.Model):
    product = models.ForeignKey(
        Product, on_delete=models.CASCADE, related_name="product")
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=1)
    fname = models.CharField(max_length=100, null=True)
    address = models.CharField(max_length=1000, null=True)
    phone = models.CharField(max_length=12, null=True)
    price = models.IntegerField()
    date = models.DateField(datetime.datetime.today, null=True)
    status = models.ForeignKey(
        Status, on_delete=models.CASCADE, blank=True, null=True)
    payment_method = models.ForeignKey(
        PaymentMethod, on_delete=models.CASCADE, blank=True, null=True)

    total = models.IntegerField(null=True)
 

Здесь я хочу получить общее поле в переменной.Но я новичок по этой причине, я действительно смущен этой темой

Ответ №1:

Есть еще один метод, который вы можете использовать. Вам нужно будет определить метод или свойство для поля, а затем вызвать его в своих шаблонах.

models.py

 class Order(models.Model):
    total = models.IntegerField(null=True)

    @property
    def get_total(self):
        return self.total
 

views.py

 from django.shortcuts import render
from .models import *

def Index(request):
   Orders = Order.objects.all()
   context = {"Orders":Orders}
   return render(request, "template/page.html", context)
 

page.html

 {% for order in Orders %}
   {{order.get_total}}
   # You can do the same to other field to get them
{% endfor %}
 

Комментарии:

1. не так, я хочу назначить общее поле в переменной, затем я хочу вычесть с помощью другого поля @coderboy

2. В каком поле вам нужно вычесть, чтобы я мог редактировать коды

Ответ №2:

Это довольно просто. Поскольку вы уже определили свои модели. Все, что вам нужно сделать, это использовать ее в своем view.py а затем в ваших шаблонах. Пример приведен ниже:

view.py

 from django.shortcuts import render
from .models import *

def Index(request):
   Orders = Order.objects.all()
   context = {"Orders":Orders}
   return render(request, "template/page.html", context)
 

page.html

 {% for order in Orders %}
   {{order.total}}
   {{order.price}}
   # You can do the same to other field to get them
{% endfor %}