2016-03-15 75 views
1

我在django_tables2如下表:結合兩列到一個使用django_tables2

class CustomerTable(tables.Table): 
    class Meta: 
     model = Customer 
     attrs = {'class': 'table'} 
     fields = {'lastname', 'firstname', 'businessname', 'entrydate'} 

我的客戶模型具有firstnamelastname場。

我想要的是有一個名稱列填充類似'lastname'+', '+firstname'的東西,以便它讀取姓氏,名字可以按姓氏排序。

The docs表明,這是可能的,但它不會給現有數據重用放入一個新列的工作示例。只要改變現有的數據。

我怎麼會去這兩個字段組合成一列?

回答

0

更新你的模型是這樣的:

class Customer(models.Model): 
    # Fields 

    @property 
    def full_name(self): 
     return '{0} {1}'.format(self.first_name, self.last_name) 

和更新你的表類:

class CustomerTable(tables.Table): 
    full_name = tables.Column(accessor='full_name', verbose_name='Full Name') 
    class Meta: 
     model = Customer 
     attrs = {'class': 'table'} 
     fields = {'lastname', 'firstname', 'businessname', 'entrydate', 'full_name'}