Django对象在旧数据库中没有属性'\uu set'

2024-10-03 02:44:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我不太明白如何在遗留数据库中处理许多关系。你知道吗

在型号.py地址:

class Trecho(models.Model):
    cod = models.BigIntegerField(primary_key=True)
    torres = models.ManyToManyField('Torre', through="Trecho_Com_Torre")

    class Meta:
        managed = False
        db_table = 'OPE_TRECHO'

class Torre(models.Model):
    cod = models.BigIntegerField(primary_key=True)

    class Meta:
        managed = False
        db_table = 'OPE_TO'

class Trecho_Com_Torre(models.Model):
    cod = models.BigIntegerField(primary_key=True)
    cod_trecho = models.ForeignKey('Trecho', on_delete=models.CASCADE, db_index=False, db_column='COD_TRECHO')
    cod_to = models.ForeignKey('Torre', on_delete=models.CASCADE, db_index=False, db_column='COD_TO')

    class Meta:
        managed = False
        db_table = 'OPE_TRECHO_COM_TO'

当我尝试运行以下查询时,错误是“Torre object has no attribute trecho\uu set”:

t1 = Torre.objects.get(cod=1)
trechos = t1.trecho__set.all()

如果我没有弄错的话,如果所有这些表都由Django管理,那么这将是可行的,但是既然它们是遗留的,那么我如何才能使它工作呢?你知道吗


Tags: keyfalsetruedbmodelmodelstablemanaged