You can look towards Django Q-objects <https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects> .
This filtering method is implemented in the MultiChoiceExt filter <https://github.com/vb64/django.admin.filters#multichoiceext-filter> of my DjangoAdminFilters library for using in Django admin. For filtering in regular Django views, you can use this code as a starting point. четверг, 9 февраля 2023 г. в 16:21:24 UTC+4, Chelsea Fan: > understood, is there any way to filter objects by method value? > > On Thu, Feb 9, 2023 at 4:42 PM Andréas Kühne <[email protected]> > wrote: > >> No. >> >> Ordering works by using the database to order the models. It therefore >> needs to be a database field - otherwise the database can't order by the >> field? >> >> Regards, >> >> Andréas >> >> >> Den tors 9 feb. 2023 kl 12:09 skrev Chelsea Fan <[email protected]>: >> >>> hello guys, Is it possible to use model method value to ordering model >>> objects in meta class? >>> >>> class Post(models.Model): >>> title = models.CharField(max_length=255, verbose_name="ady") >>> text = RichTextField(verbose_name="text") >>> tagList = models.ManyToManyField(Tag, verbose_name="taglar", >>> related_query_name="tagList") >>> image = models.ImageField(upload_to="postImage/", verbose_name= >>> "surat") >>> seen = models.ManyToManyField(UserId,verbose_name="görülen sany", >>> blank=True, related_name="gorulen") >>> like = models.ManyToManyField(UserId,verbose_name="like sany", blank >>> =True) >>> share = models.PositiveIntegerField(verbose_name="paýlaşylan sany", >>> null=True, blank=True, default="0") >>> createdAt = models.DateTimeField(auto_now_add=True, >>> verbose_name="goşulan >>> güni") >>> >>> class Meta: >>> verbose_name_plural="Makalalar" >>> # ordering = ("-createdAt",) >>> ordering = ["-hotness",] >>> >>> def __str__(self): >>> return self.title >>> >>> def likes(self): >>> return self.like.count() >>> >>> likes.short_description = "Like sany" >>> likes.allow_tags = True >>> >>> def seens(self): >>> return self.seen.count() >>> >>> seens.short_description = "Görülen sany" >>> seens.allow_tags = True >>> >>> @property >>> def hotness(self): >>> return self.likes() + self.seens() + self.share >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CAJwZndfmes4g2KWUB3Fz6wNRORQ40Fxj_NYwYKWCF6DX96OVyg%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/django-users/CAJwZndfmes4g2KWUB3Fz6wNRORQ40Fxj_NYwYKWCF6DX96OVyg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CAK4qSCfpaVQ1YXMbVae26RLgsYYBcLRMcpgQOEm9z3%2B6NpN5Ww%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/django-users/CAK4qSCfpaVQ1YXMbVae26RLgsYYBcLRMcpgQOEm9z3%2B6NpN5Ww%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/12296d6e-69f3-4f4b-8c12-2bc7ac141ba8n%40googlegroups.com.

