django - 如果 Django 模型中的函数调用包含 db 查询而其他函数工作正常,为什么它不刷新值?
问题描述
这是我来自 models.py 的代码,它只第一次提取值,但不再提取:
def slist():
return list(set(Product.objects.values_list('servicecat', flat=True)))
class CustomerProduct(models.Model):
pub_date = models.DateField(verbose_name="Date Data Last Refreshed", default=timezone.now)
servicecat = models.CharField(max_length=50, verbose_name='Service Category', null=True, blank=True, choices=tuple(zip(slist(), slist())))
它工作正常,但它只会提取一次值。timezone.now 动态工作,但 slist() 没有。为什么?
解决方案
推荐阅读
- python - 使用来自 rake 和 owlready2 的关键字的本体的 DataProperty
- javascript - 角度单击事件处理程序未触发更改检测
- c++ - 链接 C++ 项目时失败
- reactjs - 我需要一些关于学习路径的建议
- google-cloud-platform - 如何使用 jq 从 Google Video Intelligence API Speech Transcription JSON 输出中提取多个发言者的成绩单?
- node.js - NodeJS 中是否允许使用装饰器?
- sass - 在 @for 中使用 sass @function
- python - 遍历列表中的字典并将行添加到 DataFrame
- reactjs - 为用户保护 S3 存储桶?
- django - Django Views 存在不允许所有上下文变量出现在模板中的问题