def test_stats(team, *args):
if not args:
[do some stuff]
else:
team_fixtures = (Fixtures.objects.filter(home_team=team_details.id) | Fixtures.objects.filter(away_team=team_details.id))/
.filter(fixture_datetime__lt=datetime.now()).filter(fixture_datetime__year=args[0])
E per l'amor di riferimento - args è:args pitone non funziona a meno che non ha un riferimento di posizione
date_year = datetime.now().year
per questa query a lavorare ho bisogno di fare riferimento args come
.filter(fixture_datetime__year=args[0])
perché se uso
.filter(fixture_datetime__year=args)
Ho ricevuto l'errore:
int() argument must be a string, a bytes-like object or a number, not 'tuple'
Capisco che pensa che sia una tupla anche se è solo un valore, ma quando lo faccio la seguente nel terminale
type(date_year)
ottengo classe indietro.
Perché devo fare riferimento alla posizione qui quando sembra essere un solo valore di ritorno?
'* args' è * sempre * una tupla. –
Non capisco cosa stai chiedendo. Sembra che tu risponda già a tutte le tue domande. Se fornisci esattamente un argomento 'bar' a' foo (* args) 'allora' args == (bar,) '. Ma leggendo il tuo post lo sapevi già. – timgeb
@timegb L'OP si chiede perché se passa 'date_year' nella chiamata alla funzione, perché viene passato come una tupla di lunghezza 1, invece del numero intero. –