Django数据表视图相关字段

时间:2015-03-16 12:24:22

标签: python django python-2.7 django-models datatables

我对此感到困惑。我正在使用http://django-datatable-view.appspot.com/来显示模型中的数据。但是我得到了错误:"' tuple'对象没有属性'替换'。是模型类型问题还是转换问题?

我的名单

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()

0 个答案:

没有答案