【问题标题】:creation time for django model instancedjango 模型实例的创建时间
【发布时间】:2022-01-23 00:32:00
【问题描述】:

如何知道何时在 sqlite 中创建了 django 模型的实例? 我尝试了很多方法,但我无法知道或获取我的数据库实例何时创建

从日期时间导入日期时间,时间增量 time_threshold = datetime.now() - timedelta(hours=4) 结果 = x.objects.filter(created__lt=time_threshold)

我什至尝试过这段代码,但出现如下错误:

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 过滤器中的文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 941 行 return self._filter_or_exclude(False, args, kwargs) _filter_or_exclude 中的文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\query.py”,第 961 行 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,need_inner = self.build_filter( 文件“C:\Users\momeir\Anaconda3\envs\myEnv\lib\site-packages\django\db\models\sql\query.py”,第 1286 行,在 build_filter 查找,部分,refed_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、message、subject

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: python django model django-queryset


【解决方案1】:

第一个问题:
如果你想检查你的数据库,那很容易
每个数据库通常都有 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()

【讨论】:

  • 感谢您的回复,忘记我分享的代码,因为我已经拼命尝试了其他stackoverflow帖子的解决方案,所以它不起作用。只是我只想查询一个查询集实例的创建时间和日期,我可以从查询集中检索所有数据,但是当它插入到数据库时没有日期时间标签,所以这是问题
猜你喜欢
  • 2015-05-31
  • 1970-01-01
  • 2021-06-19
  • 2023-03-23
  • 2013-02-11
  • 2017-03-04
  • 2019-01-06
  • 2021-03-09
  • 2013-03-25
相关资源
最近更新 更多