似たようなトピックについて 1 日で 2 つの質問をして申し訳ありませんが、私の django に対する知識が完全になくなりました。基本的に私は2つのモデルを持っています:
class Story(models.Model):
title = models.CharField(max_length=1000)
text = models.CharField(max_length=5000)
date = models.DateField(default=datetime.date.today, editable=False)
likes = models.IntegerField(default='0')
dislikes = models.IntegerField(default='0')
views = models.IntegerField(default='0')
author = models.ForeignKey('Author', related_name="username")
class Author(models.Model):
username = models.CharField(max_length=120, unique=True)
email = models.EmailField(blank=True)
firstname = models.CharField(max_length=500, blank=True)
lastname = models.CharField(max_length=500, blank=True)
あなたができるように、誰かが物語を提出し、その名前が著者のテーブルに入るという考えがあります。かなり単純なもの。私の問題は、ユーザーがストーリーと名前を送信できるフォームを作成することです。私は inlineformset を試しましたが、うまくいきませんでした。私が知っていることを実行する方法を見つけることができません。これは、単純な AND sql ステートメントの背後にあります。
ここに私のフォームモデルがあります: StoryAuthorFormSet = inlineformset_factory(Author, Story)
class StoryForm(ModelForm):
class Meta:
model = Story
exclude = ('date', 'views', 'likes', 'dislikes', 'author')
これが私の見解です
def submit_story(request):
if request.method == 'POST':
form = StoryForm(request.POST)
if form.is_valid:
#watch this nest part be aware of the author bit
author = form.save(commit=False)
story = StoryAuthorFormSet(request.POST, instance=author)
if author_formset.is_valid():
story.save()
author_formset.save()
return HttpResponseRedirect('/thanks/')
else:
form = StoryForm()
author_formset = StoryAuthorFormSet(instance=Author())
return render_to_response('submit/submit_story.html', locals(), context_instance=RequestContext(request))
私はそれらがおそらく私が見逃した単純な解決策であることを理解しています...しかし、どんなアイデアでも大歓迎です...とても困惑しているので、必要な人のために無料のClojureとErlangプログラミングを行います.それ!