Skip to main content
 首页 » 编程设计

python之何时在 Django 的 View 或模型中写出

2024年08月26日30txw1958

<分区>

我一直在从头开始学习如何使用 Django,虽然我觉得我从无数教程中学到了很多东西,但一旦我停下来尝试开始自己的项目,我就处于只是不知道如何在没有指导的情况下去做,我认为这可能是因为除了语法和 Python 逻辑之外,我还没有真正理解哲学上如何思考事物。

所以我的问题是,什么时候逻辑应该属于 Django 模型?我的理解是,模型是关于应如何创建数据库表的说明,而 View 是在通过模板与最终用户通信时应如何提取和处理模型中的信息。

但后来我在官方教程中看到了一个示例,例如:

polls/models.py 
import datetime 
 
from django.db import models 
from django.utils import timezone 
 
 
class Question(models.Model): 
    # ... 
    def was_published_recently(self): 
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1) 

为什么像 def was_published_recently(self) 这样的东西属于模型?问题的数据 (pub_date) 是拥有一个最小和简洁的数据库所必需的,那么为什么像这样的函数不属于 View ,例如,最近的 5 个问题可以发布在主页,并且只是作为上下文而不是方法来处理?

感谢所有意见,如果您在某些教程/练习中有任何建议可以帮助我克服我从您个人经历中遇到的这堵墙,我也很想听听。

干杯!