- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个事件对象,除了 Notes
之外,还有其他对象与 Event
有一般关系,并且没有事件字段。现在我希望能够编写一个查询来排除所有 Events
,其中 Notes
的事件字段为 False。所以我尝试执行以下操作。
queryset = Event.objects.all()
filters = (
Q(content_type__model='notes') &
Q(note__active=False)
)
queryset = queryset.exclude(filters)
这不起作用,因为它单独运行查询,并且当它尝试为没有 content_object 或类型不是 Notes
的项目执行时,它失败并给出以下内容错误:
AttributeError 'GenericRelation' object has no attribute 'field'.
class Event(models.Model):
content_type = models.ForeignKey(ContentType, null=True, blank=True)
object_id = models.PositiveIntegerField(null=True, blank=True)
content_object = GenericForeignKey('content_type', 'object_id')
class Notes(models.Model):
active = models.BooleanField(default=True)
event_log = GenericRelation(
'Event',
related_query_name='note'
)
最佳答案
使用 Django ORM 的常用方法是使用子查询:
Event.objects.exclude(
content_type=note_content_type,
object_id__in=Notes.objects.filter(active=False),
)
可悲的是,这可以用连接而不是子查询在SQL 中表示,但ORM 并没有使这变得容易。
在某些情况下,PostgreSQL 的查询规划器可以将子查询优化为 hash semi join ,所以在没有对数据进行基准测试的情况下,不要优先于原始 SQL 而忽略子查询。
关于python - Django GenericRelated 字段条件查询引发 'GenericRelation' 对象没有属性 'field',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41730894/
我有一个事件对象,除了 Notes 之外,还有其他对象与 Event 有一般关系,并且没有事件字段。现在我希望能够编写一个查询来排除所有 Events,其中 Notes 的事件字段为 False。所以
在 Django 项目中,我有这样定义的模型: from django.db import models from django.contrib.contenttypes.models import
我想找到与我的角色相关且适合各种类别的属性。最终我想要这个输出: "Attributes": { "Physical": { "Level": 1,
我一定是真的误解了 Django 内容类型框架中的 GenericRelation field。 要创建一个最小的独立示例,我将使用教程中的投票示例应用程序。在 Choice 模型中添加一个通用外键字
我有 mixin 和模型: class Mixin(object): field = GenericRelation('ModelWithGR') class MyModel(Mixin, m
假设我有几个代表现实生活对象的模型:“人”、“椅子”、“房间” 我还有一个“Collection”模型,它代表了这些模型的一些记录集合。 每个模型可以是多个集合的成员——因此,我还创建了一个“Memb
我在将 GenericRelation 与 update_or_create 结合使用时遇到问题。我有以下型号: class LockCode(TimeStampedModel): conte
我想进行数据迁移,以便在数据库中添加用户阅读帖子。有这样的代码: def user_read_posts(apps, schema_editor): User = apps.get_model
我正在建立词汇表并有以下模型: class Word(Model): name = CharField(max_length=75) class EnNoun(Model): word = One
我有一个像这样的文章模型 from django.contrib.contenttypes.fields import GenericRelation from django.db import mo
我的 Django 应用程序中有这两个模型: class ItemOrigin(models.Model): content_type = models.ForeignKey(ContentT
我有以下错误: django.core.exceptions.FieldError: 'pictures' cannot be specified for Building model form as
我正在使用django-import-export导出记录的模块。但是,我无法导出通用关系。我只想获取 GenericRelation 的所有详细信息。 在 Github 中找到了下面的代码片段,但它
在我的 Django 项目中,我有一个名为 Value 的模型,它具有这样的 GenericForeignKey: class Value(models.Model): content_typ
更新:关于此问题的公开标记:24272 到底是怎么回事? Django 有一个 GenericRelation类,它添加了一个“反向”通用关系以启用额外的API。 事实证明,我们可以将这个 rever
我有一些 Django 模型通用关系字段,我希望它们出现在 graphql 查询中。 Graphite 烯是否支持通用类型? class Attachment(models.Model): u
我想包含一个带有 GenericRelation 的模型DRF 中的反向引用 文档表明这应该很容易(就在上面:http://www.django-rest-framework.org/api-guid
我是一名优秀的程序员,十分优秀!