Hier abzufragen ist das ModellWie vorherige Artikel einer bestimmten Kriterien
class Player(models.Model):
name = models.CharField()
class ShootingAttempt(models.Model):
player = models.ForeignKey(Player, related_name='shooting_attempts')
is_scored = models.BooleanField()
point = models.IntegerField(default=0)
created_at = models.DateTimeField(auto_add_now=True)
Die Umsetzung:
jordan = Player.objects.create(name='Michael Jordan')
attempt1 = ShootingAttempt(player=jordan, is_scored=False)
attempt2 = ShootingAttempt(player=jordan, is_scored=False)
attempt3 = ShootingAttempt(player=jordan, is_scored=True, point=3)
attempt4 = ShootingAttempt(player=jordan, is_scored=False)
attempt5 = ShootingAttempt(player=jordan, is_scored=True, point=3)
attempt6 = ShootingAttempt(player=jordan, is_scored=True, point=3)
Nun, wie kann ich die vorherige is_scored=False
abfragen, wenn eine gegebene ShootingAttemptwo pk = 5 angenommen für Versuch5 von Spieler mit dem Namen Micheal Jordan
? Dies wird das Ergebnis ergeben: [attempt4]
Mittel jordan hat 1 verpassen, bevor erfolgreich 3 Punkte in Versuch 5. graben
Wenn die ShootingAttempt
gegeben, wo pk=3
(attempt3) diese zurück
[attempt1, attempt2]
Bedeutet, dass Jordan 2 Fehler hat, bevor erfolgreich die ersten 3 Punkte
grabenUnd wenn pk=6
gegeben wird nichts zurück, weil es keine ist is_scored=False
zwischen dem letztenis_scored=True
und der pk=6
(attempt6)
Mittel, die jordan keine Fehl von vor dem Graben weitere 3 Punkte hat
Jeder Schießversuch kann fehlschlagen und ich möchte die letzten Fehler jedes erfolgreichen Versuches erhalten.
Gibt es irgendwelche Arbeiten?
Das ist genau was ich will lass es mich testen –
Sie können den Player nach Ihren Bedürfnissen filtern. – AnnShress