Django models 属性错误:';通用外键&x27;对象没有属性';空';

Django models 属性错误:';通用外键&x27;对象没有属性';空';,django-models,attributeerror,generic-foreign-key,Django Models,Attributeerror,Generic Foreign Key,当我在持有通用外键的模型上尝试任何方法(删除、保存等)时,我会遇到一个非常奇怪的错误。我的模型可以容纳不同类型的卡,以及处理这些卡的作业: class JobCards(models.Model): class Meta: unique_together = ('content_type', 'object_id') content_type = models.ForeignKey( ContentType, on_delete

当我在持有通用外键的模型上尝试任何方法(删除、保存等)时,我会遇到一个非常奇怪的错误。我的模型可以容纳不同类型的卡,以及处理这些卡的作业:

class JobCards(models.Model):

    class Meta:
        unique_together = ('content_type', 'object_id')

    content_type = models.ForeignKey(
        ContentType,
        on_delete=models.CASCADE,
        help_text=_('Card type')
    )
    object_id = models.PositiveIntegerField(
        help_text=_('Card id')
    )
    content_object = GenericForeignKey()

    job = models.ForeignKey(
       Job,
       on_delete=models.CASCADE
    )
因此,我们采取了以下行动:

JobCards.objects.create(content_object=card, job=job)

会因为这样的错误而失败

我应该提到的是,我在卡片模型中添加了两个通用关系,但即使删除它们也不会改变最终结果:

job_cards = GenericRelation(JobCards, related_query_name='card')
解决了。 把这个留在这里,以防有人遇到同样的问题。这个问题与项目有关,与Django无关。 我所使用的ContentType模型需要一个特定的字段,并且不知怎么的,有一个通用外键丢失了(而普通外键似乎没问题)。 将其添加为模型的属性实现了以下目的:

@property
def required_field(self):
    return self.content_object.some_linked_model.required_field
解决了。 把这个留在这里,以防有人遇到同样的问题。这个问题与项目有关,与Django无关。 我所使用的ContentType模型需要一个特定的字段,并且不知怎么的,有一个通用外键丢失了(而普通外键似乎没问题)。 将其添加为模型的属性实现了以下目的:

@property
def required_field(self):
    return self.content_object.some_linked_model.required_field