社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

新人求问 model 的计算是怎么操作的

poooooy • 9 年前 • 2725 次点击  
class Test(models.Model):
    t1=models.SmallIntegerField()
    t2=models.FloatField()

我想在模板里显示t1和t2的乘积,那么应该在哪一步进行操作呢?models.py views.py ?该如何操作

如果我想把这个乘积直接放到数据库里 可不可以改成

class Test(models.Model):
    t1=models.SmallIntegerField()
    t2=models.FloatField()
    def t3():
        return t1*t2

诚心求问

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1221
 
2725 次点击  
文章 [ 3 ]  |  最新文章 9 年前
newlife
Reply   •   1 楼
newlife    9 年前
  1. 这个事情可以交给前端去做,写js实现
  2. 可以多存储一个字段,重写save方法,每次t1,t2更新的时候重新计算
Neuer93
Reply   •   2 楼
Neuer93    9 年前

我觉得在view中取出来在计算比较好。 不然你更新t1,t2还要更新那个乘积比较麻烦。。。

巴兔尔-weibo
Reply   •   3 楼
巴兔尔-weibo    9 年前
models.py
class Test(models.Model):
    t1 = models.IntegerField()
    t2 = models.IntegerField()
    result = models.IntegerField()

forms.py
class TestForm(forms.Form):
    t1 = forms.IntegerField()
    t2 = forms.IntegerField()

views.py
def calculate(request):
    if request.method == "POST":
        form = TestForm(request.POST)
        if form.is_valid():
            form_data = form.clean_data
            t = Test.objects.create(t1=form_data['t1'],t2=form_data['t2'],result=form_data['t1'] * form_data['t2'])
            t.save()
        else:
            return HttpResponse("请输入数字")
    else:
        form=TestForm()

    return render_to_response("test.html", {})

template

test.html blablabla