Question

Voici un problème intéressant, j'ai une liste d'utilisateurs que j'énumère par ordre de notation, et lorsque deux utilisateurs ont la même note, j'ai un nombre aléatoire que j'utilise pour m'assurer que la liste ne sera pas toujours la même.

Actuellement, je le fais en exécutant une requête:

   select app_model1.column1, app_model1.colum2, app_model2.column3 
   from app_model1 left join app_model2 
   order by colum1, random();

Mais cela m'a frappé tout en refactorisant une grande application Django en plusieurs plus petites que j'avais codé en dur le nom de la table dans ce SQL (et il a brisé mes tests unitaires) et je devrais vraiment utiliser l'ORM natif pour y parvenir.

Comment puis-je obtenir le même résultat, mais à l'aide de Django.Contrib.Auth.user de Django et un modèle de profil à la place?

Était-ce utile?

La solution

Selon La documentation Vous pouvez utiliser un "?" nom de domaine:

    class Meta:
        ordering = ('colum1', '?')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top