我对此感到困惑。我正在使用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()