У меня есть пользовательская форма ... Я хотел бы автоматически сохранить автора (аутентифицированного пользователя) для данных формы. Я использую ModelForm для создания формы.
models.py
class Tracker(models.Model):
client = models.ForeignKey(Clients)
user = models.ForeignKey(User)
description = models.TextField()
...
Я также связал пользовательский профиль с таблицей пользователей django ... также аутентификация работает нормально ... Я могу прочитать пользователя и идентификатор ...
forms.py
class TrackerForm(ModelForm):
def __init__(self, *args, **kwargs):
super(TrackerForm, self).__init__(*args, **kwargs)
self.fields.keyOrder = ['date_job_start','date_job_end','description','onsite','billable','client']
class Meta:
model = Tracker
widgets = {
'client': HiddenInput(),
}
Когда форма создается из высшего класса, и я пытаюсь ее сохранить ... ей нужны пользовательские данные (пропущено предупреждение). Как я могу изменить это так, чтобы это автоматически сохраняло аутентифицированного пользователя вместо того, чтобы просить это ?? Я знаю, что у меня нет пользовательского поля, определенного здесь ... это потому, что я не хочу выпадающий список для него ... Я хочу, чтобы пользователь был сохранен из аутентификации ... без выбора или отображения ...
П.С .: Я знаю о опции initial
... должен быть лучший способ?
Спасибо!
BR