django-prefetch

Screenshot Software:
django-prefetch
Mga detalye ng Software:
Bersyon: 0.2
I-upload ang petsa: 15 Apr 15
Nag-develop: Ionel Cristian Maries
Lisensya: Libre
Katanyagan: 4

Rating: 2.0/5 (Total Votes: 1)

Django-prefetch nagbibigay ng generic na modelo na may kaugnayan prefetch data framework para sa Django. & Nbsp; Nagbibigay ng mas malawak na kakayahang umangkop kaysa Django 1.4 na prefetch_related paraan queryset sa gastos ng writting sa fuctions pagmamapa para sa data.
Gabay sa pag-install
I-install ito:
buto ng bungang-kahoy-install Django-prefetch
Gamitin ito bilang default na manager ng iyong modelo (o bilang isang batayang klase kung mayroon kang mga pasadyang manager).
Halimbawa
Narito ang isang halip dagdagan ng mga paliwanag halimbawa may fallback sa regular 1 + n tanong (kung hindi mo tawagan prefetch sa queryset):
mula django.db pag-import ng mga modelo
mula sa prefetch import PrefetchManager, Prefetcher
May-akda ng klase (models.Model):
& Nbsp; name = models.CharField (MAX_LENGTH = 100)
& Nbsp; bagay = PrefetchManager (
& Nbsp; mga aklat Prefetcher = (
& Nbsp; filter = lambda id: Book.objects.filter (author__in = id),
& Nbsp; reverse_mapper = lambda aklat: [book.author_id],
& Nbsp; dekorador = lambda may-akda, mga libro = (): setattr (may-akda, 'prefetched_books', mga aklat)
& Nbsp;),
& Nbsp; latest_book = Prefetcher (
& Nbsp; filter = lambda id: Book.objects.filter (author__in = id),
& Nbsp; reverse_mapper = lambda aklat: [book.author_id],
& Nbsp; dekorador = lambda may-akda, mga libro = (): setattr (
& Nbsp; may-akda,
& Nbsp; 'prefetched_latest_book',
& Nbsp; max (mga aklat, ang aklat na lambda: book.created)
& Nbsp;)
& Nbsp;)
& Nbsp;)
& Nbsp;property
& Nbsp; def aklat (sa sarili):
& Nbsp; kung hasattr (sa sarili, 'prefetched_books'):
& Nbsp; bumalik self.prefetched_books
& Nbsp; iba pa:
& Nbsp; return self.book_set.all ()
& Nbsp;property
& Nbsp; def latest_book (sa sarili):
& Nbsp; kung hasattr (sa sarili, 'prefetched_latest_book'):
& Nbsp; return self.prefetched_latest_book
& Nbsp; iba pa:
& Nbsp; return self.book_set.latest ()
class na Aklat (models.Model):
& Nbsp; klase Meta:
& Nbsp; get_latest_by = 'nilikha'
& Nbsp; name = models.CharField (MAX_LENGTH = 100)
& Nbsp; nilikha = models.DateTimeField (auto_now_add = True)
& Nbsp; may-akda = models.ForeignKey (May-akda)
Gamitin ito tulad nito:
para sa isang in Author.objects.prefetch ('libro', 'latest_book'):
& Nbsp; i-print a.books
& Nbsp; i-print a.latest_book

Mga Kinakailangan :

  • Python
  • Django

Iba pang mga software developer ng Ionel Cristian Maries

Mga komento sa django-prefetch

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!