我正在django-framework中编写一个小型消息传递应用程序。我希望我能够看到' seen_time'和'见过'字段只能通过我的书面方法设置。我能这样做吗?请指明
from django.db import models
from django.conf import settings
from datetime import datetime
# Create your models here.
class Messages(models.Model):
text = models.TextField(blank = False)
sender = models.ForeignKey(settings.AUTH_USER_MODEL, related_name = 'sender')
receiver = models.ForeignKey(settings.AUTH_USER_MODEL, related_name = 'receiver')
seen = models.BooleanField(default = False)
sent_time = models.DateTimeField(default = datetime.now)
seen_time = models.DateTimeField(null = True)
hide = models.BooleanField(default = False)
def set_seen_true(self):
self.seen = True
self.seen_time = datetime.now
答案 0 :(得分:1)
一种常见的情况是在进行特定请求时让视图更新模型。因此,在请求时(当然也可能是ajax请求),您可以随意更新它。总结一下:
urls.py
views.py
中添加一个视图,用于处理特定请求并更新模型。另一种可能性是让您的模型在保存模型时自动更新某些字段。这可以使用signals来完成,例如pre_save
。但是仍然需要在视图中保存模型。