#models.py
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Article(models.Model):
title = models.CharField(max_length=100)
pub_date = models.DateField()
email = models.EmailField(unique=True)
author = models.ForeignKey(Author)
def __str__(self):
return self.title
# forms.py
from django.forms import formset_factory
from django.forms import ModelForm
from .models import Article, Author
class ArticleForm(ModelForm):
class Meta:
model = Article
fields = ['email', 'title', 'pub_date']
class AuthorForm(ModelForm):
class Meta:
model= Author
fields = ['name']
#views.py
from django.shortcuts import render
from django.http import HttpResponse
from .forms import ArticleForm, AuthorForm
from .models import Article, Author
def index(request):
forms = {}
forms['article_form'] = ArticleForm(prefix='article')
forms['author_form'] = AuthorForm(prefix='author')
if request.method == 'POST':
article_form = ArticleForm(request.POST, prefix='article')
author_form = AuthorForm(request.POST, prefix='author')
if article_form.is_valid() and author_form.is_valid():
article = article_form.save(commit=False)
author = author_form.save()
print(author.id)
article.author = author
article.save()
return HttpResponse("Thank you")
else:
forms['article_form'] = article_form
forms['author_form'] = author_form
return render(request,'index.html', forms)
else:
return render(request,'index.html', forms)
No comments:
Post a Comment