django-dfk

Sagteware kiekie:
django-dfk
Sagteware besonderhede:
Weergawe: 0.0.5
Upload datum: 11 May 15
Ontwikkelaar: Dan Fairs
Lisensie: Gratis
Populariteit: 7

Rating: 2.0/5 (Total Votes: 1)

Django-DFK implemente uitgestel vreemde sleutels vir Django. Uitgestel vreemde sleutels is konseptueel soortgelyk aan generiese vreemde sleutels, behalwe dat hulle besluit het om 'n ware vreemde sleutel by runtime, en toesien dat behoorlike vreemde sleutels geskep in die databasis.
Hierdie pakket kan jy twee dinge doen:
* Verklaar dat vreemde sleutel in die veld 'n model se 'deferrable, en moet later repointed
* Repoint vreemde sleutel velde van 'n bestaande model se, selfs al dat die model nie Django-DFK bewus.
Jy moet die laasgenoemde voer met omsigtigheid - beskou dit as 'n soortgelyke proses te aap-lap!
Die Django-DFK pakket is alfa sagteware, en is nie die funksie-volledige & nbsp;. Sien die afdeling TODO vir wat op die lys.
Installasie :
Installeer Django-DFK met jou voorkeur Python pakket bestuurder. Gebruik van virtualenv word ook aanbeveel:
PIP Django-DFK installeer
Gebruik :
rig van 'n enkele vreemde sleutel
Kom ons sê jy wil die wiel te herontwerp en ontwikkeling van 'n kommentaar app. Jou kommentaar model kan lyk, in mycomments.models:
uit DFK invoer DeferredForeignKey
klas Kommentaar (models.Model):
& Nbsp; opmerkings = models.ForeignKey ('auth.User')
& Nbsp; content = DeferredForeignKey ()
& Nbsp; liggaam = models.TextField ()
Nou, kom jy hierdie aansoek integreer met jou blog stelsel (wat, as jy graag op wiel heruitvinding is, het jy ook jouself geskryf). Hier is blog / models.py:
uit DFK invoer punt
van mycomments.models invoer Kommentaar
klas blog post (models.Model):
& Nbsp; title = models.CharField (MAX_LENGTH = 100)
& Nbsp; slak = models.SlugField ()
& Nbsp; liggaam = models.TextField ()
punt (Kommentaar, 'inhoud', blog post)
Die oproep tot punt sal die DeferredForeignKey vervang oor kommentaar met 'n vreemde sleutel tot blog post.
Rig kan vreemde sleutels aan keer
By die skryf van modelle wat uitgestelde vreemde sleutels te gebruik, moet jy dalk om te verklaar dat 'n aantal behoort te wys dieselfde 'soort' van voorwerp. Kom ons sê jy het wilde omvang kruip, en jou kommentaar app nodig is om die vermoë om beelde te assosieer met 'n blog post. So jy models.py kommentaar jeug se wysig sodat dit lyk soos hierdie:
uit DFK invoer DeferredForeignKey
klas Kommentaar (models.Model):
& Nbsp; opmerkings = models.ForeignKey ('auth.User')
& Nbsp; content = DeferredForeignKey (naam = 'Inhoud')
& Nbsp; liggaam = models.TextField ()
klas Image (models.Model):
& Nbsp; image = models.ImageField ()
& Nbsp; content = DeferredForeignKey (naam = 'Inhoud')
Dit spreek dat beide kommentaar en beelde nodig om te verwys na dieselfde soort model. Dit word gedoen met die point_named funksie:
uit DFK invoer point_named
point_named ('blog', 'inhoud', blog post)
Nou sal al DeferredForeignKey gevalle in die blog artikels wat Content genoem word vervang deur die werklike vreemde sleutels om blog post.
Argumente om die gegenereerde vreemde sleutels
Wanneer waarby 'n uitgestelde vreemde sleutel, kan jy bykomende argumente navraag spesifiseer. Afgesien van die naam, sal dit oorgedra word verbatim om die finale vreemde sleutel.
Dit is ook moontlik om argumente arbitrêre navraag slaag in oproepe om te wys of point_named. Dit sal ook geslaag om die finale vreemde sleutel. Waar argumente in beide die DFK definisie en in die punt / point_named oproep is, sal argumente van laasgenoemde voorrang.
Erkenning
Danksy ISM Fantasie Games Ltd vir die borg van hierdie pakket

Wat is nuut in hierdie release:.

  • Fix 'n probleem waar verwante voorwerp caches op _meta Options klasse modelle se is nie herbevolk op 'n repoint. Dit het gelei tot probleme waar filter op 'n ouer model met betrekking tot 'n kind met 'n uitgestelde vreemde sleutel kan misluk indien die DFK was (re) wys na die aanvanklike fase van model laai reeds plaasgevind het nie.

Wat is nuut in weergawe 0.0.4:

  • Sluit 'n MANIFEST.in om docs verseker verpak .

Wat is nuut in weergawe 0.0.2:

  • Fix onvermydelik verpakking fout

Vereistes :

  • Django
  • Python

Ander sagteware ontwikkelaar Dan Fairs

django-lazysignup
django-lazysignup

20 Feb 15

Kommentaar te django-dfk

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!