Ich versuche, meine Ergebnisse basierend auf zwei Eigenschaften meiner Abfrage festlegen, die in jeder Kombination von zwei Schwellenwert einer anderen Abfrage fällt. Hier ist ein Stück Code zur Klarstellung:kommentieren Sie ein Label zu Abfrage basierend auf Schwellenwerte, dass es in
threshold_query = threshold.objects.all()
main_query = main.ojbects.values(
'Athreshold', 'Bthreshold'
).annotate(
Case(
When(
Q(Avalue__lte=threshold_query['Avalue'])
& Q(Bvalue__lte=threshold_query['Bvalue']),
then=Value(threshold_query['label'])
...
)
)
)
das Modell für die Schwellenwerte ist wie:
class threshold(models.Model):
Avalue = models.FloatField(default=0.1)
Bvalue = models.FloatField(default=0.3)
label = models.CharField(default='Accepted')
so gibt es eine Matrix, die die Etiketten, beispielsweise entscheidet, wenn es zwei Schwellenwerte { 'Avalue ': 0.4,' Bvalue ': 0.6,' label ':' rejected '} und {' Avalue ': 0.7,' Bvalue ': 0.7,' label ': Accepted} wenn Sie die Werte auf der horizontalen Achse demonstrieren (Benennung der Zeile) der Matrix) und B-Werten auf der vertikalen Achse (Benennung der Spalte der Matrix), entscheidet die Kombination dieser beiden Schwellenwerte den Wert der Zelle, die "akzeptiert" oder "abgelehnt" wäre. Ist es möglich, mit einer Abfrage das zu erreichen, was mir in den Sinn kommt? mein Ziel ist es, die Anzahl der Abfragen aufgrund der enormen Datenmenge zu minimieren.
Könnten Sie näher auf "so gibt es eine Matrix, die die Etiketten entscheidet." – rajkris
sicher. zum Beispiel, wenn zwei Schwellenwerte vorhanden sind {'Wert': 0,4, 'Bwert': 0,6, 'Marke': 'abgelehnt'} und {'Wert': 0,7, 'Bwert': 0,7, 'Bezeichnung': akzeptiert} if Sie demonstrieren die Werte auf der horizontalen Achse (Benennung der Reihe der Matrix) und B-Werte auf der vertikalen Achse (Benennung der Spalte der Matrix), die Kombination dieser beiden Schwellenwerte entscheidet über den Wert der Zelle, die angenommen oder abgelehnt werden würde. – Azee
Der Zweck besteht darin, die berechneten Werte der Hauptabfrage den Fuzzy-Schwellenwerten zuzuordnen, die von Experten bestimmt wurden. @RajKris – Azee