django-prefetch

Screenshot Λογισμικό:
django-prefetch
Στοιχεία Λογισμικού:
Εκδοχή: 0.2
Ανεβάστε ημερομηνία: 15 Apr 15
Προγραμματιστής: Ionel Cristian Maries
Άδεια: Δωρεάν
Δημοτικότητα: 4

Rating: 2.0/5 (Total Votes: 1)

Django-προσκόμισης παρέχει γενικές σχετίζονται μοντέλο πλαισίου προσκόμισης δεδομένων για Django & nbsp?. Παρέχει μεγαλύτερη ευελιξία από prefetch_related μέθοδος Django 1.4 του queryset στο κόστος των έγραφες τις fuctions χαρτογράφηση των δεδομένων.
Οδηγός εγκατάστασης
Εγκαταστήστε το:
Pip εγκατάσταση Django-προσκόμισης
Χρησιμοποιήστε το ως προεπιλεγμένο διαχειριστή μοντέλο σας (ή ως βασική κλάση, αν έχετε έθιμο διαχειριστής).
Παράδειγμα
Εδώ είναι ένα παράδειγμα μάλλον επεξεργαστεί με επαναφορά στην τακτική 1 + n ερωτήματα (αν δεν καλέσετε προσκόμισης στο queryset):
από django.db μοντέλα εισαγωγής
από προσκόμισης PrefetchManager εισαγωγής, Prefetcher
Συγγραφέας κατηγορία (models.Model):
& Nbsp? Name = models.CharField (MAX_LENGTH = 100)
& Nbsp? Αντικείμενα = PrefetchManager (
& Nbsp? Βιβλία = Prefetcher (
& Nbsp? Φίλτρο = ταυτότητες λάμδα: Book.objects.filter (author__in = IDS),
& Nbsp? Reverse_mapper = βιβλίο λάμδα: [book.author_id],
& Nbsp? Διακοσμητής = λ συγγραφέας, τα βιβλία = (): SetAttr (συγγραφέας, «prefetched_books», βιβλία)
& Nbsp?),
& Nbsp? Latest_book = Prefetcher (
& Nbsp? Φίλτρο = ταυτότητες λάμδα: Book.objects.filter (author__in = IDS),
& Nbsp? Reverse_mapper = βιβλίο λάμδα: [book.author_id],
& Nbsp? Διακοσμητής = λ συγγραφέας, τα βιβλία = (): SetAttr (
& Nbsp? Συγγραφέας,
& Nbsp? "Prefetched_latest_book»,
& Nbsp? Max (βιβλία, βιβλίο λάμδα: book.created)
& Nbsp?)
& Nbsp?)
& Nbsp?)
& Nbsp?property
& Nbsp? Def βιβλία (αυτο):
& Nbsp? Αν hasattr (αυτο, «prefetched_books»):
& Nbsp? Επιστρέψει self.prefetched_books
& Nbsp? Αλλού:
& Nbsp? Self.book_set.all επιστροφής ()
& Nbsp?property
& Nbsp? Def latest_book (αυτο):
& Nbsp? Αν hasattr (αυτο, «prefetched_latest_book»):
& Nbsp? Self.prefetched_latest_book επιστροφή
& Nbsp? Αλλού:
& Nbsp? Self.book_set.latest επιστροφής ()
κατηγορίας Βιβλίο (models.Model):
& Nbsp? Τάξη Μέτα:
& Nbsp? Get_latest_by = "δημιουργούνται"
& Nbsp? Name = models.CharField (MAX_LENGTH = 100)
& Nbsp? Δημιούργησε = models.DateTimeField (auto_now_add = True)
& Nbsp? Συγγραφέας = models.ForeignKey (Συγγραφέας)
Χρησιμοποιήστε το όπως αυτό:
για μια σε Author.objects.prefetch («βιβλία», «latest_book»):
& Nbsp? A.books εκτύπωσης
& Nbsp? A.latest_book εκτύπωσης

Απαιτήσεις :

  • Python
  • Django

Άλλο λογισμικό του προγραμματιστή Ionel Cristian Maries

Σχόλια για django-prefetch

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!