Hello, everyone
Assume the following models (
dpaste.com [1]):
class Account(models.Model):
""" Account model for categorizing entries from each SAP import,
and eventually sorting, grouping, filtering data.
""" code = models.CharField(max_length=255, primary_key=True)
group = models.ForeignKey('AccountGroup', blank=True, null=True,
related_name='groups')
description = models.CharField(max_length=512, blank=True, null=True)
class AccountGroup(models.Model): name = models.CharField(max_length=512, blank=True, null=True,
verbose_name=_('Name'))
parent = models.ForeignKey('AccountGroup', blank=True, null=True,
related_name='children')
is_subgroup = models.BooleanField(default=False, editable=False)
def save(self, *args, **kwargs):
self.is_subgroup = False
if self.parent is not None: self.is_subgroup = True
return super(AccountGroup, self).save(*args, **kwargs)
I would like to be able to manually specify an order for AccountGroups in relation to their siblings, so that I can have a final result of something like the following pic (which describes a set of groups and accounts, with the latter being the rightmost, M000000000-format codes.
http://img200.imageshack.us/img200/9423/groupsandaccounts.pngAs you can see from the picture, accounts can be located under any number of groups, and neither Accounts nor AccountGroups are not sorted naturally.
Short of using something like django-treebeard[3], how can I write a solution for this use case?
Thanks in advance for all your help!
Cheers,
André Terra
[1]
http://dpaste.com/hold/571566/
[2]
https://docs.djangoproject.com/en/dev/ref/models/fields/#commaseparatedintegerfield[3]
https://tabo.pe/projects/django-treebeard/docs/1.52/