Ich versuche, in View mein Abfrage-Set basierend auf der Beziehung zwischen 2 Feldern zu filtern.Filtern von Abfrage-Set, wenn ein Wert größer ist als ein anderer Wert
aber immer den Fehler, dass mein Feld nicht definiert ist.
My Model mehrere berechnete Spalten hat, und ich möchte nur die Datensätze erhalten, wo Werte von Feld A sind größer als Feld B.
Das ist also mein Modell
class Material(models.Model):
version = IntegerVersionField()
code = models.CharField(max_length=30)
name = models.CharField(max_length=30)
min_quantity = models.DecimalField(max_digits=19, decimal_places=10)
max_quantity = models.DecimalField(max_digits=19, decimal_places=10)
is_active = models.BooleanField(default=True)
def _get_totalinventory(self):
from inventory.models import Inventory
return Inventory.objects.filter(warehouse_Bin__material_UOM__UOM__material=self.id, is_active = true).aggregate(Sum('quantity'))
totalinventory = property(_get_totalinventory)
def _get_totalpo(self):
from purchase.models import POmaterial
return POmaterial.objects.filter(material=self.id, is_active = true).aggregate(Sum('quantity'))
totalpo = property(_get_totalpo)
def _get_totalso(self):
from sales.models import SOproduct
return SOproduct.objects.filter(product__material=self.id , is_active=true).aggregate(Sum('quantity'))
totalso = property(_get_totalpo)
@property
def _get_total(self):
return (totalinventory + totalpo - totalso)
total = property(_get_total)
Und dies ist in Zeile meiner Ansicht nach, wo ich versuche, die bedingte queryset
po_list = MaterialFilter(request.GET, queryset=Material.objects.filter(total__lte = min_quantity ))
Aber ich erhalte den Fehler zu bekommen, dass min_quantity nicht
definiertWas könnte das Problem sein?
EDIT:
Mein Problem gelöst habe danke @Moses Koledoye aber in der gleichen Code, den ich anderes Problem haben jetzt
Kann nicht Stichwort 'total' lösen in field.Choices sind: bin, autor, autor_id, bom, bomversion, code, creation_time, beschreibung, id, inventar, is_active, is_production, itemgroup, itemgroup_id, schlüsselwörter, materialuom, max_quantity, min_quantity, name, pomaterial, produzieren, produkt, slug, trigger_quantity, uom, update_by, updated_by_id, valid_from, valid_to, Version, warehousebin
Grundsätzlich zeigt es keine meiner berechneten Felder, die ich in meinem Modell habe.