Mi sto esercitando in Django Class-Based-View con un'applicazione di blog di base. Per qualche motivo, tuttavia, il modello CreateView for my Post non sta salvando il post all'interno del database.Django CreateView non sta salvando l'oggetto
models.py
class Post(models.Model):
user = models.ForeignKey(User)
post_title = models.CharField(max_length=200)
post_content = models.CharField(max_length=500)
post_date = models.DateTimeField('date posted')
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = Post
exclude = ('user', 'post_date')
views.py
class PostCreate(CreateView):
template_name = 'app_blog/post_save_form.html'
model = Post
form_class = PostForm
def form_valid(self, form):
form.instance.user = self.request.user
form.instance.post_date = datetime.now()
return super(PostCreate, self).form_valid(form)
visualizza wi contenuti generando qualsiasi errore, ma quando controllo la pagina di amministrazione, il post creato da CreateView non viene salvato nel database .. Qualche idea .. ??
Grazie
provare a fare 'form.save()' prima quindi chiamare il super !!! se questo aiuta –
ho provato il tuo codice e funziona per me. C'è qualcos'altro Dopo averlo salvato ti reindirizza all'elenco dei post o al modulo di nuovo? – sneawo
'form.save()' dovrebbe essere chiamato da 'super' in ogni caso dal momento che sta usando un ModelForm –