如何防止我的 Django 模型为我的一个模型列创建"deferred attribute"?



下面是我的"RunCounts"模型

class RunCounts(models.Model):
AccountUsername = models.TextField(blank = True)
RunDate = models.DateTimeField(null=True)
Report = models.TextField(blank = False)

当我后来尝试在我的views.py中引用它时,我无法像过滤模型中的所有其他值一样过滤RunDate。下面是我尝试过滤的一个例子。

test = RunCounts.objects.filter(RunCounts.RunDate >= '2022-07-13')

返回错误:'>='在'DeferredAttribute'和'str'实例之间不受支持

我怎样才能防止django把我的RunDate列变成一个'DeferredAttribute',或者仍然可以在过滤器中使用它?

您可以.filter(…)<一口>[Django-doc]:

RunCounts.objects.filter(RunDate__gt='2022-07-13')

注意: Django模型中字段的名字通常写成snake_case,而不是PascalCase,所以应该是:run_date而不是RunDate