我有一個回覆類:Django的我不能保存形式2個的外鍵
class Reply(models.Model):
reply_to = models.ForeignKey(New)
creator = models.ForeignKey(User)
reply = models.CharField(max_length=140,blank=False)
重播形式:
class ReplyForm(ModelForm):
class Meta:
model = Reply
fields = ['reply']
,其中新的Post類(含用戶帖子) 和一個視圖
def save_reply(request):
#u = New.objects.get(pk=id)
if request.method == 'POST':
form = ReplyForm(request.POST)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.creator = request.user
new_obj.reply_to = form.reply_to
# reply_to_id = u
new_post = New(2) #this works hardcoded, but how can i get the blog New post #id, as a parameter, instead?
new_obj.reply_to = new_post
new_obj.save()
return HttpResponseRedirect('.')
否則: 形式= ReplyForm()
選擇render_to_response回報( '回覆/ replies.html',{ '形式':形式, }, context_instance = RequestContext的(請求))
其中CREATED_BY屬於一類新的,並代表後的創建者(其將被回覆)
我該如何將當前帖子分配給它下面的回覆?
在此先感謝!
是:)它的工作原理,硬編碼我的意思是:new_obj.creator = request.user new_post =新(1) new_obj.reply_to = new_post new_obj.save() 但我不知道如何通過messageId(從新模型)到答覆。我嘗試使用\t u = New.objects.get(pk = id)和New(u),但沒有結果。 – dana 2010-05-26 23:47:20
我已經編輯過我的問題:) – dana 2010-05-27 12:05:09
我已編輯,添加我的ReplyForm。 它不像上面那樣工作,它說: 'ReplyForm'對象沒有屬性'reply_to' as reply_to是New的外鍵,即包含用戶帖子的表格 – dana 2010-05-27 14:19:52