在Django模型中访问ForeignKey的_unicode__)字段

在Django模型中访问ForeignKey的_unicode__)字段,django,unicode,foreign-keys,admin,Django,Unicode,Foreign Keys,Admin,我在模型的unicode中构造了一个有用的组合字符串来标识Django中的单个记录 然后我有另一个模型,它将第一个作为外键 对于我的第二个模型,我想使用ForeignKey引用的第一个模型中的_unicode__字符串为第二个模型构造_unicode__字符串 class Invoice(models.Model): supplier = models.ForeignKey(Supplier) amount = models.DecimalField("invoice total

我在模型的unicode中构造了一个有用的组合字符串来标识Django中的单个记录

然后我有另一个模型,它将第一个作为外键

对于我的第二个模型,我想使用ForeignKey引用的第一个模型中的_unicode__字符串为第二个模型构造_unicode__字符串

class Invoice(models.Model):
    supplier = models.ForeignKey(Supplier)
    amount = models.DecimalField("invoice total", max_digits=10, decimal_places=2)
    invoice_date = models.DateField("invoice date")
    def __unicode__(self):  # I want to reuse this string in class Charge
            return " ".join((
            unicode(self.supplier),
            self.invoice_date.strftime("%Y-%m-%d"),
            u"£",
            unicode(self.amount)
        ))

class Charge(models.Model):
    invoice = models.ForeignKey(Invoice)
    amount = models.DecimalField("amount charged to house", max_digits=10, decimal_places=2)
    description = models.CharField("item description", max_length=200, null=True, blank=True)
    def __unicode__(self):
            return " ".join((
            self.invoice.__unicode__, #How do I do this?
            unicode(self.amount),
            self.description,
        ))
第二个模型的unicode需要第一个模型的unicode,而无需再次构造它

我怎么称呼它?我想我应该把invoice放在我的unicode中,它会引用索引的unicode字符串,当然它会得到invoice的整个实例

return u'%s %s %s' % (self.invoice, self.amount, self.description)

unicode.\uu mod\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。出于兴趣,如果我想显式调用类中已“定义”的函数,我可以通过外键连接以某种方式调用它吗?@user3074252:是的,与您调用方法的方式相同。我使用django 1.6,get:匹配的查询不存在。我已返回“%s%”(self.,)