To, co widzisz, to prawidłowe zachowanie.
get_or_create
to skrót od 'pobierz i zwróć obiekt pasujący do kwargs
, jeśli nie istnieje, utwórz go za pomocą defaults
„. Twoje wyszukiwanie szuka obiektu, w którym name
to dopasowanie bez rozróżniania wielkości liter do 'cedar'
. Ten obiekt istnieje, więc jest zwracany. Nic więcej, nic mniej.
Teraz, jeśli nie było dopasowania, Stéphane ma rację i musiałbyś podać name
w defaults
parametr. Wszystkie wyszukiwania zawierające separator wyszukiwania __
są usuwane z parametrów przekazanych do create()
.