在我的models.py中,我有一个类(路径),其方法 validate_time 试图访问路径模型的两个字段(time_start,time_end):
class Paths(m.Model):
time_start: m.TimeField()
time_end: m.TimeField()
def validate_time(self):
start = self.time_start
end = self.time_end
print start #print start to test it out
#...some function that returns True or False
我在views.py中调用 validate_time :
from .models import Paths
def paths_data(request):
ps = Paths()
valid_times = ps.validate_time()
if valid_times == False:
....
我看到方法validate_time被命中,因为我看到了print语句
但是打印输出似乎是:无
但 time_start 和 time_end 已作为字符串保存到模型中。如何在 validate_time 中将它们作为字符串值?
答案 0 :(得分:0)
我认为self.time_start可能没有被设置为ps是一个空的Path对象,由' ps = Paths()'初始化。和time_start没有默认值。 如果要查找已保存的实例,则需要首先使用Paths.objects.get(your_key = your_value)查询数据库。有关查询的更多详细信息:https://docs.djangoproject.com/en/1.11/topics/db/queries/
答案 1 :(得分:-1)
您可以使用@ classmethod
或@ staticmethod
装饰器validate_time