Возможно, вы ошиблись или, возможно, я неправильно понял ваш фрагмент кода. Допустим, у вас есть модель книги, в которой экземпляр книги может иметь несколько авторов.
class Author(models.Model):
...
class Book(models.Model):
authors = models.ManyToManyField(Author)
Теперь это вернет QuerySet
всех экземпляров Книги - Book.objects.all()
objects
является менеджером по умолчанию для Модели, и это множественное число. object
- это отдельная вещь в Python, и лучше не использовать ее как собственную переменную. Стоит также отметить, что «множество» не является ни полем, ни функцией в Django. Дайте нам знать, если это то, что вы определили. Таким образом, чтобы получить несколько авторов ManyToMany, экземпляр книги может иметь:
book = Book.objects.all()[0]
type(book.authors) # tells you this is a ManyRelatedManager
type(book.authors.all()) # tells you this is a QuerySet
book.authors.all() # will print out the authors for this book
Теперь, когда у вас есть авторы, и эти авторы представлены в форме QuerySet, вы можете выполнять любые обычные манипуляции с QuerySet, включая обращение вспять.
book.authors.all().reverse()
Помните, что отмена чего-то не упорядоченного ничего не значит, поэтому вы можете рассмотреть возможность использования objects.order_by("<field name>").reverse()
. Надеюсь, это поможет.