我有一个名为WCA和识别符的2个模型Django项目,我想更新从WCA模型中的等效字段从识别符模型中提取的代码匹配WCA模型中的ISIN字段的识别符模型中称为‘secid’的字段.
Models个
class Identifier(TimeStampMixin, models.Model):
secid = models.IntegerField(default=0, db_index=True)
code_type = models.CharField(max_length=10, null=True)
code = models.CharField(max_length=12, db_index=True)
account = models.ForeignKey(Account, on_delete=models.CASCADE, null=True)
def __str__(self):
return self.code
class Wca(models.Model):
secid = models.IntegerField(blank=False, null=False, db_index=True)
isin = models.CharField(max_length=12, blank=True, db_index=True)
uscode = models.CharField(max_length=9, blank=True, db_index=True)
sedol = models.CharField(max_length=7, blank=True, db_index=True)
def __str__(self):
return str(self.secid)
我有这方面的工作的SQL代码,但想转换成Django等价的最佳实践.我的SQL查询如下:
UPDATE portfolio_identifier
left outer join product_wca on portfolio_identifier.code = product_wca.isin
SET
portfolio_identifier.SecID = product_wca.secid
WHERE
code_type = 'ISIN';
在这件事上如果能帮上忙我会很感激.谢谢