插入数据库Django时出错

时间:2018-05-23 07:38:20

标签: python django

我有一个新问题,就是当我在数据库中插入新闻时,它会添加但没有区域。如何使用正确的区域插入注释?

以下是我的观点:

def index_region(request,region):
    try:
        actuCommentaire = Actu.objects.get(region=region)
    except ObjectDoesNotExist:
        actuTempo = Actu(region=region)
        actuCommentaire = actuTempo.commentaire

    form = UpdateActu(request.POST or None, instance=actuCommentaire)

    if form.is_valid():
        form.save()
        return redirect('index.html')

这是我的模特" Actu" :

class Actu(models.Model):
    commentaire = models.TextField(max_length=200, null=True)
    region = models.CharField(max_length=30, null=True)

    def __str__(self):
        return self.region

这是我的表格:

class UpdateActu(forms.ModelForm):
    class Meta:
        model = models.Actu
        fields = ['commentaire']
        widgets = {
            'commentaire': forms.Textarea(attrs={'class': 'form-control', 'id': 'exampleTextarea', 'rows': '2'})
        }

以下是插入数据库时​​的结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。

这是我的新观点:

try:
    actuCommentaire = Actu.objects.get(region=region)
except ObjectDoesNotExist:
    actuTempo = Actu(region=region)
    actuCommentaire = actuTempo.commentaire

form = UpdateActu(request.POST or None, instance=actuCommentaire)

if form.is_valid():
    if Actu.objects.filter(region=region).count() == 0:
        formActu = Actu(commentaire=request.POST['commentaire'], region=region)
        formActu.save()
    else:
        form.save()
    return redirect('index.html')