Python ReverseOne未在django信号中计算
我有两种型号:Python ReverseOne未在django信号中计算,python,django,Python,Django,我有两种型号: class Content(models.Model): text = models.TextField(blank=True, null=True) class Article(models.Model): content = models.OneToOneField(Content, related_name="article_content") 和一个信号(在信号模块中声明,并通过AppConfig.ready()连接): 当我保存内容时,Attribu
class Content(models.Model):
text = models.TextField(blank=True, null=True)
class Article(models.Model):
content = models.OneToOneField(Content, related_name="article_content")
和一个信号(在信号模块中声明,并通过AppConfig.ready()连接):
当我保存内容时,AttributeError:“ReverseOneToneDescriptor”对象没有属性“pk”
被引发
art = Article.objects.get(pk=1)
ct = art.content # content exists
ct.save()
所以我的问题是:
我已设置复制此行为
sender
是信号附加到的类,而不是正在保存的实例。这在kwargs['instance']
中,或者您可以直接接受参数:
def clear_cache(sender, instance, created, **kwargs):
print(instance.article_content.pk)
我真傻!谢谢。
def clear_cache(sender, instance, created, **kwargs):
print(instance.article_content.pk)