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のメソッド(Car クラスの)を取得する方法idProducer? ありがとう。試してみますがProducer_idProducer__idうまくいきません。

4

1 に答える 1

1

そのはず:

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

また、コードを調べると、さらに 2 つの改善を行うことができます。

  1. モデルクラスメソッドはフィールドの後に来る必要があります
  2. 悪い方法であるURL をハード コーディングする代わりに、reverse-resolution-of-urls を使用する必要があります。/prod/%s/car/%s
于 2012-12-30T20:12:50.760 に答える