Skip to content

Commit d3f985b

Browse files
author
Max Goodridge
committed
Saving POST data using a Model and ModelForm
1 parent d880e6e commit d3f985b

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

home/forms.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
from django import forms
2+
from home.models import Post
23

34

4-
class HomeForm(forms.Form):
5+
class HomeForm(forms.ModelForm):
56
post = forms.CharField()
7+
8+
class Meta:
9+
model = Post
10+
fields = ('post',)

home/migrations/0001_initial.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.4 on 2017-02-17 01:03
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
from django.db import migrations, models
7+
import django.db.models.deletion
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
initial = True
13+
14+
dependencies = [
15+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16+
]
17+
18+
operations = [
19+
migrations.CreateModel(
20+
name='Post',
21+
fields=[
22+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
23+
('post', models.CharField(max_length=500)),
24+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
25+
],
26+
),
27+
]

home/models.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
from django.db import models
2+
from django.contrib.auth.models import User
23

3-
# Create your models here.
4+
5+
class Post(models.Model):
6+
post = models.CharField(max_length=500)
7+
user = models.ForeignKey(User)

home/views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ def get(self, request):
1414
def post(self, request):
1515
form = HomeForm(request.POST)
1616
if form.is_valid():
17+
post = form.save(commit=False)
18+
post.user = request.user
19+
post.save()
20+
1721
text = form.cleaned_data['post']
1822
form = HomeForm()
1923
return redirect('home:home')

0 commit comments

Comments
 (0)