没有从具有多个外键的抽象类添加相关集

时间:2013-02-25 00:28:14

标签: django foreign-keys abstract-class

我有一个问题是从一个继承自另一个类的类中访问相关数据。 我的代码(models.py)如下:

class AbstractTransaction(models.Model):
  compte            = models.ForeignKey(Utilisateur, 
    verbose_name='Compte', 
    related_name='%(class)s_set',
  )
  operateur         = models.ForeignKey(Utilisateur, 
    related_name='%(class)s_related',
    verbose_name='Opérateur', 
    editable=False,
  )

  class Meta:
    abstract = True

class Transaction(models.Model):
  quantite          = models.IntegerField('Quantité')

  def __unicode__(self):
    return '%i %s(s) pour %d' % (self.quantite, self.produit, self.cout)

class Operation(models.Model):
  commentaire       = models.TextField('Commentaires')

  def __unicode__(self):
    return self.quantite

然后我尝试从那个

的Utilisateur实例访问我的相关事务
user = Utilisateur.objects.get(pk=1)
user.transaction_set.all()

但我得到错误:'Utilisateur'对象没有属性'transaction_set'。

我做错了什么?

提前谢谢你,

加布里埃尔。

1 个答案:

答案 0 :(得分:1)

你可能打算继承AbstractTransaction,但是继承models.Model

class Transaction(AbstractTransaction):
...