首页 > 解决方案 > 如果 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() 没有。为什么?

标签: djangopython-3.xdjango-models

解决方案


推荐阅读