Zalogowany użytkownik jako wartość domyślna w modelu

0

Mam następujący problem.

Mam w modelu następującą relację (do modelu USER z django.contrib.auth.models).

user = models.ForeignKey(User,on_delete=models.CASCADE)

Chce zapisać użytkownika który tworzy obiekt danego modelu.
Chciałbym go przypisać domyślnie podczas tworzenie obiektu.

user = models.ForeignKey(User,on_delete=models.CASCADE, default= ......)

i nie mam pojęcia co tu przypisać.
próbowałem auth.user ale to nic nie pomogło.
Proszę o pomoc.
Przeglądałem https://docs.djangoproject.com/en/4.1/ref/contrib/auth/ ale nie znalazłem tu odpowiedzi.
Pozdrawiam

0
user = models.ForeignKey(User, default=lambda: User.objects.get_or_create(id=1)[0])

Być może można lepiej

0

Niestety, niezależnie na jakiego użytkownika jestem zalogowany to zapisuje pierwszego użytkownika. (efekt podobny jak z 'auth.user'). Czyli jak mam użytkownika P i T to mimo że zalogowany jestem na T to podstawia mi na liście i zapisuje P.

0

Zrobiłem tak:
Zamiast w models.py i dodania default = w modelu, zrobiłem funkcję w adminy.py

 def save_model(self, request, obj, form, change):        
        obj.user= request.user
        return super().save_model(request, obj, form, change)

nie jest to do końca to co chciałem, ale wstępnie działa (chyba, że znajdę inne rozwiązanie)
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1