googleapis / googleapis/google-cloud-python
Model doesn't call `super.__init_`
Offen
#15,833
3 Kommentare
0 Reaktionen
1 zugewiesene Person
Beansprucht von @daniel-sanche
Auf GitHub ansehen
api: datastore
api: ndb
priority: p3
type: bug
- Vorherrschende Sprache
- Python
- Sterne
- 5.4k
- Forks
- 1.8k
- Ø Merge
- 3 T. 4 Std.
- Gemergte PRs (30 T.)
- 122
Beschreibung
Hi all! Is there a reason that `Model.__init__` doesn't call `super().__init__`? I get that it takes all of the kwargs, but not calling `super().__init__` at all breaks multiple inheritance. Eg instantiating this class will never call `Other.__init__`:
```py
class Foo(ndb.Model, Other):
pass
```
If I add `super().__init__()` at the top of `Model.__init__`, that fixes this, and `Other.__init__` gets called correctly.
I can work around this by always putting other classes before `ndb.Model` in the inheritance list, but that's brittle and error-prone, and not documented.
Thanks in advance!
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.