0

私はdjango-tables2自分のプロジェクトで使用しようとしています。

これが私のモデルです

class Client(models.Model):
    comp = models.ForeignKey(Company)
    user = models.ForeignKey(User)
    def __unicode__(self):
        return u'%s\'s client data' % self.user
    class Meta:
        unique_together = (('user', 'comp'))

私のテーブル

class ClientTable(tables.Table):
    class Meta:
        model = Client
        fields = ('user')
        empty_text = _('No client')

私の見解

@login_required
def client_list(request):
    obj = {}
    try:
        clients = request.user.staff.company.client_set.all()
        client_table = ClientTable(clients) # <-- error from here
    except Staff.DoesNotExist:
        raise Http404
    obj['client_table'] = client_table
    obj['client_nb'] = clients.count()
    return render_to_response('company/client_list.html',
        obj, context_instance=RequestContext(request),)

これにより、次のエラーが表示されます。

「str」オブジェクトと「tuple」オブジェクトを連結できません
...
/usr/local/lib/python2.7/dist-packages/django_tables2/tables.py in init
self._sequence = Sequence(self._meta.fields + ('. ..',))

4

1 に答える 1

3

テーブル定義では、field属性はタプルでなければなりません。

fields = ('user')

これは文字列と見なされるため、使用する必要があります

fields = ('user',)
于 2013-05-04T10:16:13.253 に答える