django表2 - 添加自定义列

时间:2013-09-05 07:19:23

标签: python django django-tables2

我正在使用django-tables-2作为项目。我有一个使用模型显示数据的表,但我需要再添加一列来显示另一个表中的一些信息。我能这样做吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试过以下操作?

# models.py
class Person(models.Model):
    " This is your regular model "
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    user = models.ForeignKey("auth.User")
    dob = models.DateField()

class PersonTable(tables.Table):
   id = tables.Column(name="id") # just add a field here
   class Meta:
       model = Person

答案 1 :(得分:0)

您可以使用访问者属性以与模型属性相同的名称映射列。

我猜你的情况会是:

class UsersTable(tables.Table):

    custom = Column(_("Custom"), accessor='id', orderable=False) # Any attr will do, dont mind it

    def render_custom(self, record):
        return services.get_some_info(record)

    class Meta:
        model = User
        fields = (b'username', )