Django 模型实例的创建时间
creation time for django model instance
如何知道何时在 sqlite 中创建了一个 django 模型实例?
我尝试了很多方法,但我不知道或不知道我的数据库实例是何时创建的
从日期时间导入日期时间,timedelta
time_threshold = datetime.now() - timedelta(小时=4)
结果 = x.objects.filter(created__lt=time_threshold)
我什至试过这段代码,但我得到如下错误:
回溯(最近调用最后):
文件“”,第 1 行,位于
过滤器中的文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 941 行
return self._filter_or_exclude(假,args,kwargs)
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 961 行,在 _filter_or_exclude
clone._filter_or_exclude_inplace(否定,args,kwargs)
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 968 行,在 _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1393 行,在 add_q 中
子句,_ = self._add_q(q_object, self.used_aliases)
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1412 行,在 _add_q
child_clause, needed_inner = self.build_filter(
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1286 行,在 build_filter
查找,部分,reffed_expression = self.solve_lookup_type(arg)
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1112 行,在 solve_lookup_type
_, 字段, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1539 行,在 names_to_path
raise FieldError("无法将关键字 '%s' 解析为字段。"
django.core.exceptions.FieldError:无法将关键字 'created' 解析为字段。选项有:contact_name、email_name、id、消息、主题
第一题:
如果你想检查你的数据库,那么很容易
每个数据库通常都有 GUI 和 CLI,所以 sqlite 也有一个 GUI,你可以在 sqlitebrowser.org
下载
也 你的错误说你的模型没有 created
字段所以如果没有,给我更多信息。
qs = x.objects.filter(created__lt=time_threshold)
# to get number of objects only
n = qs.count()
# to get objects list
objs = qs.all()
如何知道何时在 sqlite 中创建了一个 django 模型实例? 我尝试了很多方法,但我不知道或不知道我的数据库实例是何时创建的
从日期时间导入日期时间,timedelta time_threshold = datetime.now() - timedelta(小时=4) 结果 = x.objects.filter(created__lt=time_threshold)
我什至试过这段代码,但我得到如下错误:
回溯(最近调用最后): 文件“”,第 1 行,位于 过滤器中的文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 941 行 return self._filter_or_exclude(假,args,kwargs) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 961 行,在 _filter_or_exclude clone._filter_or_exclude_inplace(否定,args,kwargs) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 968 行,在 _filter_or_exclude_inplace self._query.add_q(Q(*args, **kwargs)) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1393 行,在 add_q 中 子句,_ = self._add_q(q_object, self.used_aliases) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1412 行,在 _add_q child_clause, needed_inner = self.build_filter( 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1286 行,在 build_filter 查找,部分,reffed_expression = self.solve_lookup_type(arg) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1112 行,在 solve_lookup_type _, 字段, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1539 行,在 names_to_path raise FieldError("无法将关键字 '%s' 解析为字段。" django.core.exceptions.FieldError:无法将关键字 'created' 解析为字段。选项有:contact_name、email_name、id、消息、主题
第一题:
如果你想检查你的数据库,那么很容易
每个数据库通常都有 GUI 和 CLI,所以 sqlite 也有一个 GUI,你可以在 sqlitebrowser.org
也 你的错误说你的模型没有 created
字段所以如果没有,给我更多信息。
qs = x.objects.filter(created__lt=time_threshold)
# to get number of objects only
n = qs.count()
# to get objects list
objs = qs.all()