我很抱歉在一天之内提出两个有关类似主题的问题,但我对django的noobishness刚刚完全接管。基本上我有两个型号:Django inlineformsets和一般noobishness
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(作者,故事)
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编程!
首先,请为您以前的问题选择一个答案。 –