Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django datatable视图相关字段_Python_Django_Python 2.7_Django Models_Datatables - Fatal编程技术网

Python Django datatable视图相关字段

Python Django datatable视图相关字段,python,django,python-2.7,django-models,datatables,Python,Django,Python 2.7,Django Models,Datatables,我被这个弄糊涂了。我用它来显示模型中的数据。但我得到错误:“'tuple'对象没有属性'replace'。这是某种模型类型问题还是转换问题 我的名单 class CustomerList(BaseDatatableView): model = Profile columns = [("id", 'user__id'), ("name", 'customer__name'), 'abn', 'street', 'suburb', 'post_code', 'state', 'mo

我被这个弄糊涂了。我用它来显示模型中的数据。但我得到错误:“'tuple'对象没有属性'replace'。这是某种模型类型问题还是转换问题

我的名单

class CustomerList(BaseDatatableView):
    model = Profile

    columns = [("id", 'user__id'), ("name", 'customer__name'), 'abn', 'street', 'suburb', 'post_code', 'state', 'mobile']
    order_columns = [("id", "user__id")]
    max_display_length = 500

    def render_column(self, row, column):
        pprint.pprint(globals())
        pprint.pprint(locals())
        if column == 'mobile':
            return str(row.mobile)
        else:
            return super(CustomerList, self).render_column(row, column)

    def get_initial_queryset(self):
        return Customer.objects.filter(client_id=self.request.user.profile.client.id)
我的模型

class Customer(models.Model):
    name = models.CharField(max_length = 100)
    client = models.ForeignKey(Client)
    date_created = models.DateField(auto_now_add = True, null=True, blank=True) 
    history = HistoricalRecords()

    def __unicode__(self):
        return self.name

class Profile(models.Model):
    user = models.OneToOneField(
        User,
        primary_key=True,
        related_name='profile'
    )
    abn = models.CharField(max_length=11,help_text = "Australian Business Number")
    street = models.CharField(max_length=100)
    suburb = models.CharField(max_length=100)
    client = models.ForeignKey(Client,blank=True,default=1,null=True)
    customer = models.ForeignKey(Customer,blank=True, null=True)
    history = HistoricalRecords()

    post_code = models.CharField(max_length=100)
    state = models.CharField(max_length=10)
    country = models.CharField(max_length=100, default = 'AU')
    points = models.DecimalField(max_digits=14, decimal_places=4,default=0)#precision to 2 decs as the prices [will need to be rounded down]
    mobile = PhoneNumberField(blank=True, null=True)
    avatar = models.CharField(max_length=255,default="",blank=True)
    invite_token = models.CharField(max_length=128,default="",blank=True)

    def __unicode__(self):
        return self.user.get_full_name()

你能发布堆栈跟踪吗?错误消息告诉我它在需要字符串的地方得到了一个元组。你检查过“列”的格式吗?不知道如何对数据表进行跟踪,这就是我得到的所有信息。怀疑是由于格式化的原因,只是不知道如何更改它。{“sError”:“tuple”对象没有属性“replace”“tuple”对象没有属性“replace”“,“iTotalRecords”:0,“结果”:“错误”,“文本”:“tuple”对象没有属性“replace”“tuple”对象没有属性“replace”“,“aaData”:[],“sEcho”:1,“iTotalDisplayRecords”:0}无论是文档还是django datatables的源视图中,都没有任何内容暗示您可以对列或order_columns属性使用元组。这是从哪里得到的?django datatables视图本身生成元组,我相信这让我很困惑,因为我从documentation复制了语法尝试更改顺序列=[(“id”,“用户id”)]到顺序列=[“id”]