django-tables - 无法连接'str'和'tuple'

时间:2013-05-04 10:16:13

标签: python django django-tables2

我正在尝试在我的项目中使用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'对象
  ...
   init 中的/usr/local/lib/python2.7/dist-packages/django_tables2/tables.py
     self._sequence = Sequence(self._meta.fields +('...',))

1 个答案:

答案 0 :(得分:3)

在您的表定义中,您的field属性必须是元组。

fields = ('user')

这将被视为字符串,因此您必须使用

fields = ('user',)