Seite 1 von 1

[django] get_or_create wirft DoesNotExist

Verfasst: Mittwoch 6. August 2008, 12:09
von jens
Kann mir jemand verraten, warum ein get_or_create dennoch ein DoesNotExist wirft?

Verfasst: Mittwoch 6. August 2008, 12:33
von sma
Wenn das Modell nicht existiert, aber auch nicht angelegt werden kann. Siehe Zeile 11 in diesem Ausschnitt von `db/models/query.py`:

Code: Alles auswählen

try:
            return self.get(**kwargs), False
        except self.model.DoesNotExist:
            try:
                params = dict([(k, v) for k, v in kwargs.items() if '__' not in k])
                params.update(defaults)
                obj = self.model(**params)
                obj.save()
                return obj, True
            except IntegrityError, e:
                return self.get(**kwargs), False
Stefan

Verfasst: Donnerstag 7. August 2008, 07:40
von jens
Aber sollte dann nicht statt eines DoesNotExist ein IntegrityError geworfen werden? Würde IMHO mehr Sinn machen.