Я пытаюсь создать запись через форму, и она не будет отправлять или передавать информацию в базу данных.Я уверен, что пользователь отображается в HTML, но он не отправляется с запросом.
Я могу успешно создать запись с помощью интерактивной оболочки без проблем, и тест, который я написал, проходит успешно.,Следуя документации (https://docs.djangoproject.com/en/2.2/topics/class-based-views/generic-editing/) и ссылке для добавления request.user (https://docs.djangoproject.com/en/2.2/topics/forms/modelforms/#django.forms.ModelForm)
Объект / Модель
class Event(models.Model, Activity):
id = models.UUIDField(
primary_key=True, default=uuid.uuid4, editable=False, unique=True)
name = models.CharField(max_length=500)
start_date = models.DateField(blank=True, null=True)
end_date = models.DateField(blank=True, null=True)
completion_date = models.DateField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
private = models.BooleanField(default=True)
owner_id = models.ForeignKey(User, on_delete=models.CASCADE)
creation_date = models.DateField(auto_now_add=True)
last_modified = models.DateTimeField(auto_now=True)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.id, self.description or ''
views.py
class EventCreate(LoginRequiredMixin, CreateView):
form_class = EventForm
template_name = 'app/event_form.html'
success_url = reverse_lazy('event_list')
def form_valid(self, form):
form.instance.owner_id = self.request.user
return super().form_valid(form)
forms.py
class EventForm(ModelForm):
class Meta:
model = Event
fields = ['name', 'start_date', 'end_date',
'completion_date', 'description']
def __init__(self, *args, **kwargs):
self.owner_id = kwargs.pop('user')
return super(EventForm, self).__init__(*args, **kwargs)