Я хочу, чтобы в моем models.py был установлен запрос, чтобы я мог получить к нему доступ через представление администратора, а также шаблоны.Проблема у меня заключается в том, чтобы объявить набор запросов в admin.py, а также view.py по-другому.Мне нужен один набор запросов, к которому я могу получить доступ где угодно
Вот мой код в admin.py
def get_queryset(self, request):
qs = super(ItemTableAdmin, self).get_queryset(request)
qs = qs.annotate(
stock=(F('amount') - F('consumption'))
)
return qs
def stock(self, obj):
return obj.stock
, а вот мой код в views.py
my_models = list(ItemTable.objects.all().annotate(stock=(F('amount') -
F('consumption'))))
my_models_table = items(my_models)
RequestConfig(request).configure(my_models_table)
, который дает мне тот же результат в админ-панели и шаблоне.пример: 8.00 - 7.00 = 1.00
Теперь вот мой код в model.py, который предназначен для достижения одной и той же цели и получения доступа как в администраторе, так и в шаблоне
from django.db.models import F
class ItemTable(models.Model):
refno = models.CharField("Reference No", max_length=50, unique=True, null=False)
slno = models.CharField("Serial No", max_length=50, null=False)
date = models.DateField("Entry Date")
mata_name = models.TextField("Name of Materials", blank=True)
manu_name = models.CharField("Manufacturer Name", max_length=50, blank=True)
batch_no = models.CharField("Batch No", max_length=50, blank=True)
product = models.TextField("Used in Product", blank=True)
agent = models.CharField("Local Agent", max_length=250, blank=True)
mfgdate = models.DateField("MFG Date", null=True, blank=True)
expdate = models.DateField("EXP Date", null=True, blank=True)
amount = models.DecimalField(max_digits=12, decimal_places=4, blank=True, null=True)
consumption = models.DecimalField(max_digits=12, decimal_places=4, blank=True, null=True)
coa = models.FileField("Certificate of Analysis", upload_to='pdf/coa', blank=True, null=True)
msds = models.FileField(upload_to='pdf/msds', blank=True, null=True)
moa = models.FileField("Method of Analysis", upload_to='pdf/moa', blank=True, null=True)
def query(self):
return ItemTable.objects.all().annotate(stock=F('amount') -
F('consumption'))
Я ожидаю выводакак 8.00 - 7.00 = 1.00, но я получаю этот вывод:
<QuerySet [<ItemTable: 12>, <ItemTable: 1>, <ItemTable: 2>, <ItemTable: 3>, <ItemTable: 4>, <ItemTable: 5>]>