我想保存有关渴望的回复。 如果有人发布了任何渴望,那么对该渴望的答复应该分配给该特定渴望。 在数据库中保存了渴望的对象后,我不想创建要答复的对象。 渴望得到很多答复。 并且该回复应该与该回复所产生的渴望有关。 在下面的代码中,当我提交请求时,它也在创建空白对象以供回复。 如果渴望提交,则应仅出于渴望创建对象。 不作答。 而且,如果对那个渴望有所反应,那么它应该只与那个特定的渴望相关。 使用任何关系。 回复和渴望应该显示在一个模板上。

views.py

@login_required
def crave_edit(request, id=None):
    instance = get_object_or_404(crave_data, pk=id) if id else None
    crave_made = None
    if instance and instance.person != request.user:
        raise PermissionDenied()

    if request.method=="POST":
        form=CraveDataForm(request.POST, request.FILES, instance=instance)

        if form.is_valid():
            crave_made = form.save(commit=False)
            crave_made.person = request.user
            crave_made.save()


    else:                    
        form=CraveDataForm(instance=instance)  

    return render(request, "crave/crave.html", {'form' : form,'crave_made':crave_made})


@login_required
def crave_view(request, id):
    #what id is this? this is crave_data id
    crave = get_object_or_404(crave_data, pk=id)
    check = comments.objects.filter(crave=crave.id)
    if request.method=="POST":
        form=CraveReplyForm(request.POST, request.FILES)
        if form.is_valid():
            reply = form.save(commit=False)
            reply.person=request.user
            reply.crave = crave
            reply.save()                    
    else:                    
        form=CraveReplyForm()  
    print "somehave"
    print id
    print "alasj"
    return render(request, "crave/comment.html", {'crave': crave, 'form' : form, 'check':check})

models.py

class crave_data(models.Model):
    person = models.ForeignKey(User)

    post=models.TextField(blank = True,null = True)
    date= models.DateTimeField(auto_now_add=True, blank=True)
    def __unicode__(self):
        return self.post



class comments(models.Model):

    crave=models.ForeignKey(crave_data, blank = True,null = True)
    reply=models.CharField(max_length=1000, blank = True,null = True)

    date= models.DateTimeField(auto_now_add=True, blank=True)
    def __unicode__(self):
        return self.reply

请帮帮我。 非常感谢。

===============>>#1 票数:0 已采纳

唯一需要的是crave_data id,

在crave_edit视图中进行更改

crave_made = None

并将crave_made变量传递给模板。

并在临时

crave.html

{% if crave_made %}
                    <a href="/crave/reply_get/{{ crave_made.id }}">Continue</button>
                {% endif %}

希望这会帮助你。

  ask by translate from so

未解决问题?本站智能推荐: