【发布时间】:2021-04-05 13:33:46
【问题描述】:
我已经尝试了几种方法,但被卡住了,不知道该去哪里。 我的模型(ExampleModStack)有一个 toadd_fk,它是从 API 获得的外键。在创建 ExampleModStack 时,我想使用它来创建对 Toadd 模型的外键引用。我通过读取 API 值来创建 ExampleModStack 模型,因此我需要一个函数来为我执行此操作。我正在考虑使用信号 pre_save 函数,以便我可以在那里设置 toadd 关系。这是我的代码:
class ExampleModStack(models.Model):
toadd_fk = models.IntegerField()
toadd = models.ForeignKey(
Toadd,
null=True,
on_delete=models.CASCADE,
related_name='%(class)s_toadd'
)
class Meta:
verbose_name = 'example_mod_stack'
verbose_name_plural = 'example_mods_stack'
def __str__(self):
return str(self.id)
@receiver(pre_save)
def referenc_product(cls, instance, **kwargs):
cls.toadd = Product.objects.get(id=cls.toadd_fk)
我无法让它工作。 有谁知道如何使这个功能发挥作用?
【问题讨论】:
标签: django django-models django-signals