У меня есть система для составления элементов из частей в определенных категориях
Например, возьмите следующие категории:
- 1: (Местоположение)
- 2:(Материал)
И следующие детали:
- Стена (FK = 1)
- Крыша (FK = 1)
- Крыша (FK = 1)
- Кирпич (FK = 2)
- Черепица (FK = 2)
- Дерево (FK = 2)
Чтобы составить эти элементы: Wall.Brick, Roof.Wood, Wall.Wood
class Category(models.Model):
ordering = models.IntegerField()
desc = models.CharField()
class Part:
name = models.CharField()
category = models.ForeignKey(Category)
class Meta:
unique_together = ('name', 'category')
ordering = ['category','name']
class Item:
parts = ManyToManyField(Part)
def __unicode__(self):
return ".".join([p.name for p in self.parts.all()])
Теперь вопрос: как мне заказать элементы?Я бы предпочел, чтобы они упорядочивались по возрастанию по составленному имени, но не знаю как.
Одним из способов сделать это может быть дополнительное поле для имени, которое обновляется в методе save ().Это будет означать денормализацию модели ...