I use django-table2
. Now I want to create custom sorting on property of my model.
My models are:
class Department(models.Model):
Department_TYPE_CHOICES = (
(1, 'branch'),
(2, 'unit'),
(3, 'center'),
)
title = models.CharField(max_length=128)
identity = models.IntegerField(choices=global_vars.Department_TYPE_CHOICES)
reference = models.ForeignKey('self', on_delete=models.PROTECT,null=True)
class Enrollment(models.Model):
title = models.CharField(max_length=128)
department = models.ForeignKey('department', on_delete=models.PROTECT,null=True)
@property
def unit(self):
department = self.department
if department.identity == 2:
return department.title
elif department.identity == 3:
return department.reference.title
My table is:
class MyTable(tables.Table):
unit = tables.Column(order_by=("department"))
class Meta:
model = Enrollment
fields = ("title")
sequence = ('unit', "title")
All things are good except that I want to sort on unit
property.
I used order_by
on unit
property, but sorting didn't done on unit
and
done on department
field.
So, How can I define sorting for my property?