0

私は2つのモデルを持っています:

class Hi(models.Model):
   name = models.CharField(max_length=2)


class Hello(models.Model):
    name = models.CharField(max_length=50)
    his = models.ManyToManyField(Hi)

Helloモデルをレンダリングしようとしています。したがって、私はtables.pyこのようにしています:

class HelloTable(tables.Table):
    his = models.ColoumnField()

    def render_his(self, value):
        hi = []
        for i in value.his.all():
            hi.append(i)
        return (',').join(hi)

     #And the metas

私は得るManyToMany has no attribute his。どうしたの?

4

1 に答える 1

0

これで問題が解決し、コードが少し簡素化されます。

def render_his(self, value):
    return (', ').join(list(value.all()))

また

def render_his(self, value):
    return (', ').join([x.name for x in value.all()])

オブジェクトのunicode表現ではなく、特定の属性が必要な場合。Hi

インスタンスではなくインスタンスでvalueあるため、エラーが発生しています。ManyToManyFieldHello

于 2014-05-03T10:45:24.043 に答える