#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 %}