latest news

2008-11-09 19:33:42

Umstellung und Migration

2 Comments

unanswered questions

2008-10-30 13:34:21

Syndication Feed-Problem

0 Replies

2008-11-17 16:49:19

dynamische urlpatterns...

2 Replies

2008-12-22 02:46:20

Fragen zu pagination ~~

1 Replies

Profile for robert

Name robert
Email Address n/a
Posts1
  • Verständnisfrage zu Foreignkey und objects.filter
    Board » Django das Framework » Probleme & Fragen
    Hi all,

    ich bin beim Ausführen einer selbstgeschriebenen __len__ Methode für eine Modelklasse, die eine DB Anfrage nach dem Schema a.objects.filter(b=self).count() für den Rückgabewert durchführt, auf einen Laufzeitfehler "maximum recursion depth exceeded while calling a Python object" gestoßen. Durch die Fehlerausgabe konnte ich die Zeile "annotation = bool(value)" in der Methode add von WhereNode (django/db/models/sql/query.py) ausfindig machen.

    Die Castingmethode ruft ja bekanntlich bei fehlerender __nonzero__ Methode __len__ auf und überprüft dessen Rückgabewert. Dies führt zu einer Endlosschleife von __len__. Das Problem tritt nicht auf, wenn in __len__ mittels a.objects.filter(b__exact=self.pk).count() abgefragt wird.

    Ich wüsste jetzt gerne von jemanden, was Best Practise für die Abfrage von ForeignKey ist. Die Django Dokumentation ist da leider zwiespaltig.

    Danke.