如何按内容\类型名称查询Django LogEntry?
我想按content_type.name查询Django管理员的日志条目记录。 我试过这个:如何按内容\类型名称查询Django LogEntry?,django,Django,我想按content_type.name查询Django管理员的日志条目记录。 我试过这个: from django.contrib.admin.models import LogEntry logs = LogEntry.objects.filter(content_type__name='foo') 但这会导致以下错误跟踪: Traceback (most recent call last): File "<input>", line 1, in <module>
from django.contrib.admin.models import LogEntry
logs = LogEntry.objects.filter(content_type__name='foo')
但这会导致以下错误跟踪:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/query.py", line 781, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/query.py", line 799, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1260, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1286, in _add_q
allow_joins=allow_joins, split_subq=split_subq,
File "/opt/sf/sf/env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1211, in build_filter
raise FieldError('Related Field got invalid lookup: {}'.format(lookups[0]))
FieldError: Related Field got invalid lookup: name
。。。那么,如何获取所有名为
foo
的content\u-type对象呢?ContentType由三列组成:id(整数)、app\u-label(char)和model(char)
在这种情况下,您可能需要
LogEntry.objects.filter(content_type__model='foo')
啊,谢谢!但是
content\u type.name
究竟从何而来?设置为属性(最终对新手有用)ContentType.name
是一个返回本地化详细名称的属性。但是它不能用于查询,因为它不是直接存储在数据库中的。
LogEntry.objects.filter(content_type__model='foo')