首页 > 解决方案 > 在 django 中同时更新模型并创建 pdf

问题描述

我尝试更新我使用的模型(事实):在models.py中

class TypeFact(models.Model):
type = models.CharField(max_length=50, verbose_name="Type")

def __str__(self):
    return self.type
class Factures(models.Model):
num_fact = models.CharField(primary_key=True, max_length=50, verbose_name="Numero")
type_fact = models.ForeignKey('TypeFact', on_delete=models.CASCADE, verbose_name='Type_Facture')
importance = models.IntegerField(verbose_name="Importance",null=True, default=None, blank=True)
closed = models.BooleanField(default=False)

def __str__(self):
    return self.num_fact + "/" + str(self.type_fact)

在 forms.py 我只是创建一个基于模型 Typefact 的字段

class FormFactClose(forms.Form):
chosen = forms.ModelChoiceField(
    label="Choix",
    queryset=models.TypeFact.objects.all(),
    required=False,
)

def clean(self):
    cleaned_data = super(FormFactClose, self).clean()
    khiar = cleaned_data.get("chosen")
    result=models.TypeFact.objects.filter(type=khiar)

我尝试通过 views.py 更新模型结构

def close(request):
if len(request.POST) > 0:
    form = FormFactClose(request.GET)
    if form.is_valid():
        choix = form.cleaned_data['type']
        filt = Factures.objects.filter(type_fact__id= choix)
        filt.update(closed=1)
        return render(request, 'close.html', {'form': form})
    else:
        return render(request, 'welcome2.html', {'form': form})
        # Le formulaire n'a pas été envoyé
else:
    form = FormFactClose()
    return render(request, 'close.html', {'form': form})

我没有错误,但它不起作用在同一时刻,我想为列表更新创建一个 pdf,但我不知道该怎么做我搜索帮助

标签: pythondjango

解决方案


您必须使用 Python 的 Reportlab 模块


推荐阅读