【发布时间】:2014-08-24 07:03:28
【问题描述】:
我正在尝试创建一个查询集以获取数据库中的 DATETIME 的 DateTimeField 的值。
models.py 中的类:
class ChangeMetrics(models.Model):
id = models.IntegerField(primary_key=True)
file_id = models.ForeignKey(File, db_column = 'file_id')
version_id = models.ForeignKey(Version, db_column = 'version_id')
function_id = models.ForeignKey(Function, blank=True, db_column = 'function_id')
date = models.DateTimeField(blank=True, null=True)
user = models.TextField(blank=True)
changed = models.IntegerField(blank=True, null=True)
数据库中的字段:
date DATETIME
元组填充在数据库中,直接在数据库上运行 SQL 查询运行良好。
这是我目前在 Django 中使用的查询集:
queryset = ChangeMetrics.objects.filter(~Q(changed=None), ~Q(date=None), ~Q(version_id=None))
我尝试了一个原始查询以及一个使用 exclude() 的查询版本,但它仍然返回 None 作为日期。
我通过 for 循环访问查询集中的条目,并通过 for 循环内的 entry.date 简单地访问日期。
编辑: Django 版本 1.6.5 我也尝试通过 Django shell 获取值,但没有成功。
对可能出现的问题有任何想法吗?
【问题讨论】:
-
如果你自己查询空日期会怎样?
-
不幸的是,结果相同。
标签: python django sqlite django-models django-views