Sto usando un pacchetto django-MPTT per la mia applicazione commenti e ho seguito il modello per questo:ordine dinamica in django-MPTT
class Comment(MPTTModel):
content = models.TextField(verbose_name='Treść')
author = models.ForeignKey(AUTH_USER_MODEL, verbose_name='Autor', blank=False, null=True)
is_deleted = models.BooleanField(verbose_name='Komentarz usunięty', default=False,
help_text='Zaznacz, aby usunąć komentarz')
ip = models.GenericIPAddressField(default=0, verbose_name='Adres IP')
content_type = models.ForeignKey(ContentType, verbose_name='Typ obiektu')
object_id = models.PositiveIntegerField(verbose_name='ID obiektu')
content_object = GenericForeignKey('content_type', 'object_id')
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
hotness = models.FloatField(default=0)
created_at = models.DateTimeField(auto_now_add=False, verbose_name='Data dodania')
updated_at = models.DateTimeField(auto_now=True, verbose_name='Aktualizacja')
class MPTTMeta:
order_insertion_by = ('-hotness', '-created_at')
class Meta:
verbose_name = 'Komentarz'
verbose_name_plural = 'Komentarze'
def __unicode__(self):
if len(self.content) > 50:
return self.content[:50] + '...'
else:
return self.content
vorrei dare la possibilità all'utente di ordinare commento albero dal calore o data di creazione. È possibile modificare il campo order_insertion_by
dalla vista per generare 2 tipi di ordinamento (per data, per piccantezza)? Grazie per l'aiuto.
Hai trovato una soluzione a tale proposito? –
No, non l'ho fatto. :( – Peterek
Ho fatto alcuni test con il mio esempio di codice qui sotto (python3) e sembra funzionare, ma sarebbe bello se qualcuno lo provasse. – biodiv