Django模型字段是其他字段的总和

2024-09-27 19:34:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使模型上的一个字段(quantidadeimirir)成为同一模型上其他字段的总和,这些字段将通过表单收集。我试图将property与方法一起使用,但是当我试图提交表单时,我得到了一个错误:“Field‘quantidadeimirir’没有默认值”。我做错什么了?我的代码是:

型号:

quantidade_PMasc = models.IntegerField()
quantidade_MMasc = models.IntegerField()
quantidade_GMasc = models.IntegerField()
quantidade_GGMasc = models.IntegerField()
quantidade_XGGMasc = models.IntegerField()
quantidade_PFem = models.IntegerField()
quantidade_MFem = models.IntegerField()
quantidade_GFem = models.IntegerField()
quantidade_GGFem = models.IntegerField()
quantidade_02Inf = models.IntegerField()
quantidade_04Inf = models.IntegerField()
quantidade_06Inf = models.IntegerField()
quantidade_08Inf = models.IntegerField()
quantidade_10Inf = models.IntegerField()
quantidade_12Inf = models.IntegerField()
quantidade_14Inf = models.IntegerField()    

def _quantidade_imprimir(self):
    "Retorna a quantidade de estampas a ser impressa para esta camisa neste evento"
    return (self.quantidade_PMasc + self.quantidade_MMasc + self.quantidade_GMasc
            + self.quantidade_GGMasc + self.quantidadeXGGMasc + self.quantidade_PFem
            + self.quantidade_MFem + self.quantidade_GFem + self.quantidade_GGFem +
            self.quantidade_02Inf + self.quantidade_04Inf + self.quantidade_06Inf +
            self.quantidade_08Inf + self.quantidade_10Inf + self.quantidade_12Inf +
            self.quantidade_14Inf)

quantidadeImprimir = property(_quantidade_imprimir)

在视图.py公司名称:

^{pr2}$

模板:

<form method="post" action="">
    {% csrf_token %}            
    <!-- {{ form.as_table }} -->
    <table class="form_eventos">
        <tr>
            <td>Estampa: {{ form.estampa }}</td>
            <td>Cor: {{ form.cor }}</td>
        </tr>
        <tr>
            <td class="subtitulo-form">Masculinas</td>
        </tr>
        <tr>
            <td>Quantidade P Masc.: {{ form.quantidade_PMasc }}</td>
            <td>Quantidade M Masc.: {{ form.quantidade_MMasc }}</td>
            <td>Quantidade G Masc.: {{ form.quantidade_GMasc }}</td>
        </tr>
        <tr>
            <td>Quantidade GG Masc.: {{ form.quantidade_GGMasc }}</td>
            <td>Quantidade XGG Masc.: {{ form.quantidade_XGGMasc }}</td>                    
        </tr>
        <tr>
            <td class="subtitulo-form">Femininas</td>
        </tr>
        <tr>
            <td>Quantidade P Fem.: {{ form.quantidade_PFem }}</td>
            <td>Quantidade M Fem.: {{ form.quantidade_MFem }}</td>
            <td>Quantidade G Fem.: {{ form.quantidade_GFem }}</td>
        </tr>
        <tr>
            <td>Quantidade GG Masc.: {{ form.quantidade_GGFem }}</td>                    
        </tr>
        <tr>
            <td class="subtitulo-form">Infantis</td>
        </tr>
        <tr>
            <td>Quantidade 2 Anos: {{ form.quantidade_02Inf }}</td>
            <td>Quantidade 4 Anos: {{ form.quantidade_04Inf }}</td>
            <td>Quantidade 6 Anos: {{ form.quantidade_06Inf }}</td>
        </tr>
        <tr>
            <td>Quantidade 8 Anos: {{ form.quantidade_08Inf }}</td>
            <td>Quantidade 10 Anos: {{ form.quantidade_10Inf }}</td>
            <td>Quantidade 12 Anos: {{ form.quantidade_12Inf }}</td>
        </tr>
        <tr>
            <td>Quantidade 14 Anos: {{ form.quantidade_14Inf }}</td>
        </tr>                
    </table>
    <br /><input class="button" type="submit" value="Incluir Estampa" />
</form>

Tags: selfformmodelstrclasstdintegerfieldmasc
1条回答
网友
1楼 · 发布于 2024-09-27 19:34:06

这是因为在您的模型中,您将quantidadeImprimir设置为必需的。当您试图从表单中保存它时,会出现错误。在

同样,在模型中把每个大小作为一个字段也是一个坏主意。最好用一对多的关系来表示。在

相关问题 更多 >

    热门问题