#models.py
class Hashtag(modles.Model):
content = models.TextField()
class Article(models.Model):
title = models.CharField(max_lenth=100)
content = models.TextField()
hashtags = models.ManytomanyField(
Hashtag, related_name="hashtag_articles"
)#forms.py
class ArticleForm(forms.Form):
hashtags = TextField()
class Meta:
model = Article
fields = "__all__"#views.py
def article_create(reqeuset):
if reqeust.method == "POST":
form = ArticleForm(data = requset.POST)
if form.is_valid():
form.save()
return redirect("article_detail")
else:
form = ArticleForm()
context = {'form':form}
return render(requset, "article_create.html", context)
#views.py cleaned_data 사용
def article_create(reqeuset):
if reqeust.method == "POST":
form = ArticleForm(data = requset.POST)
if form.is_valid():
form.save()
hashtag_content = form.cleaned_data["hashtags"] #해시태그값
hashtag = Hashtag.objects.get(content = hashtag_content) #해시테그테이블에서조회
article.hashtags.add(hashtag.pk) #중계테이블추가
return redirect("article_detail")
else:
form = ArticleForm()
context = {'form':form}
return render(requset, "article_create.html", context)