0

我有 2 个模型:

class Producer(models.Model):
    def __unicode__(self):
            return self.name
    def get_absolute_url(self):
        return "/prod/%i/" % self.id 
    name = models.CharField(max_length=10, unique=True)

class Car(models.Model):
    def __unicode__(self):
            return self.name
    def get_absolute_url(self):
        return "/prod/%s/car/%i" % Producer.id, self.id 
    name = models.CharField(max_length=10, unique=True)
    prod = models.ForeignKey(Producer)

/sitemap.xml我有一个错误:type object 'Producer' has no attribute 'id'。如何进入get_absolute_url(汽车类)id的方法Producer?谢谢。我尝试Producer_idProducer__id但它不起作用。

4

1 回答 1

1

它应该是:

def get_absolute_url(self):
    return "/prod/%s/car/%s" % (self.prod.id, self.id)

还可以查看您的代码,还可以进行两项改进:

  1. 模型类方法应该在字段之后
  2. 您应该使用reverse-resolution-of-urls而不是对 url 进行硬编码,/prod/%s/car/%s这是一种不好的做法。
于 2012-12-30T20:12:50.760 回答