<分区> 分区>
我一直在从头开始学习如何使用 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 个问题可以发布在主页,并且只是作为上下文而不是方法来处理?
感谢所有意见,如果您在某些教程/练习中有任何建议可以帮助我克服我从您个人经历中遇到的这堵墙,我也很想听听。
干杯!
