【问题标题】:Create two ForeignKey to one class为一个类创建两个 ForeignKey
【发布时间】:2015-05-13 23:39:06
【问题描述】:

我在这个类的模型中有这个问题。

class Transferencia(models.Model):
    descripcion = models.CharField(max_length=200)
    importe = models.FloatField()
    tipo = models.ManyToManyField(Tipo)
    cuentaOrigen = models.OneToOneField(Cuenta)
    cuentaDestino = models.OneToOneField(Cuenta)
    monedaReferencia = models.ForeignKey(Moneda)
    fechaApunte = models.DateTimeField('date published')
    factura = models.ForeignKey(Factura)
    def __str__(self):
        return "Importe: " + self.importe

我有这个错误

ERRORS: walletGestor.Transferencia.cuentaDestino: (fields.E304) Reverse accessor for 'Transferencia.cuentaDestino' clashes with reverse accessor for 'Transferencia.cuentaOrigen'.  HINT: Add or change a related_name argument to the definition for 'Transferencia.cuentaDestino' or 'Transferencia.cuentaOrigen'. walletGestor.Transferencia.cuentaDestino: (fields.E305) Reverse query name for 'Transferencia.cuentaDestino' clashes with reverse query name for 'Transferencia.cuentaOrigen'.     HINT: Add or change a related_name argument to the definition for 'Transferencia.cuentaDestino' or 'Transferencia.cuentaOrigen'. walletGestor.Transferencia.cuentaOrigen: (fields.E304) Reverse accessor for 'Transferencia.cuentaOrigen' clashes with reverse accessor for 'Transferencia.cuentaDestino'.  HINT: Add or change a related_name argument to the definition for 'Transferencia.cuentaOrigen' or 'Transferencia.cuentaDestino'. walletGestor.Transferencia.cuentaOrigen: (fields.E305) Reverse query name for 'Transferencia.cuentaOrigen' clashes with reverse query name for 'Transferencia.cuentaDestino'.  HINT: Add or change a related_name argument to the definition for 'Transferencia.cuentaOrigen' or 'Transferencia.cuentaDestino'.

System check identified 4 issues (0 silenced).

请帮帮我,我需要确定原始帐户和命运帐户。

这是班级帐号

class Cuenta(models.Model):
    nombreCuenta = models.CharField(max_length=200)
    tipoCuenta = models.CharField(max_length=200)
    importeInicial = models.FloatField()
    excluirEstadisticas = models.BooleanField()
    def __str__(self):
        return self.nombreCuenta +": " + self.importeInicial

谢谢

【问题讨论】:

    标签: python django orm foreign-keys


    【解决方案1】:

    很清楚,需要加一个related_name attribute

    cuentaOrigen = models.OneToOneField(Cuenta, related_name="cuentaOrigen")
    cuentaDestino = models.OneToOneField(Cuenta, related_name="cuentaDestino")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2021-03-23
      • 2016-10-29
      相关资源
      最近更新 更多