dolmen.relations

Software screenshot:
dolmen.relations
Software ətraflı:
Version: 0.5
Tarixi Upload: 11 May 15
Geliştirici: Souheil Chelfouh
Lisenziya: Pulsuz
Məşhurluq: 18

Rating: 1.5/5 (Total Votes: 2)

dolmen.relations obyektlər arasında bağımsız münasibətlərin bir sadə və sadə həyata keçirilməsi imkan zc.relation yuxarıda nazik qat edir.
Başlarken
Paketin xüsusiyyətləri nümayiş etdirmək üçün, biz ilk ağlı başında mühit qurmaq:
>>> Zope idxal komponenti
>>> Zope.container.btree idxal BTreeContainer olan
>>> Sm = component.getGlobalSiteManager ()
>>> Herd = getRootFolder () ['herd'] = BTreeContainer ()
Əlaqələr kataloqu
dolmen.relations münasibətləri qeydiyyatdan və onları tapmaq məsul olan RelationCatalog adlı komponent təmin edir:
>>> Dolmen.relations RelationCatalog, iCatalog idxal
>>> Sm.registerUtility (RelationCatalog () iCatalog)
Əlaqələr konteyner
Münasibətləri saxlamaq və lazım tədbirlər tetiklemek üçün dolmen.relations bir btree konteyner təmin edir:
>>> Dolmen.relations idxal RelationsContainer olan
>>> Əlaqələri = herd ['_ əlaqələri'] = RelationsContainer ()
Bu məzmun
İndi biz başlamaq üçün məzmun lazımdır. testlər modul biz burada istifadə edir ki, bir Mammoth davamlı obyekt müəyyən edir:
>>> Dolmen.relations.tests Mammoth idxal
>>> Manfred = herd ['manfred'] = Mammoth ()
>>> Gunther = herd ['gunther'] = Mammoth ()
Bizim obyektlərin davam edəcək və bir int id veriləcək arxayın olmaq üçün, biz törətmək:
>>> Idxal əməliyyat
>>> Transaction.commit ()
əlaqələr
dolmen.relations təklif əlaqələri "A B" tipli var. Onlar bir hədəf obyekt ilə bir mənbə obyekt keçid üçün imkan verir. Testlər məqsədləri üçün, biz mənbə və hədəf kimi istifadə etmək üçün gedir ki, iki Mammoth obyektlər yaratmaq üçün gedir:
>>> Dolmen.relations idxal dəyərlər, hər hansı bir
>>> Zope.intid.interfaces idxal IIntIds olan
>>> Kimlikleri = component.getUtility (IIntIds)
>>> Rcatalog = component.getUtility (iCatalog)
>>> Gunther_id = ids.getId (Gunther)
>>> Manfred_id = ids.getId (manfred)
Sadə əlaqə
ilk və simpliest əlaqəsi növü RelationValue edir. Bu münasibətlər mənbəyi id və hədəf id ilə yaradılmışdır:
>>> Münasibətləri ["sadə"] = values.RelationValue (gunther_id, manfred_id)
Siz hədəf və / və ya mənbə id verərək əlaqələrin sorğu edə bilər:
>>> Aşkar = siyahısı (rcatalog.findRelations ({"target_id: manfred_id}))
>>> Tapıldı
[]
əlaqə mənbə və ya hədəf həll həsr atributları var:
>>> Əlaqə = found.pop ()
>>> Əlaqə
<... At dolmen.relations.values.RelationValue object>
>>> Relation.source

>>> Relation.target

Tagged əlaqə
əlaqədar ikinci növü TaggedRelationValue edir. Bu, bizim mənbə-hedef neçə unicode strings bir siyahısı kimi tags siyahısına əlavə imkan verir:
>>> Münasibətləri ["tagged"] = values.TaggedRelationValue (
... Gunther_id, manfred_id, tags = [u'grok, u'dolmen '])
əlaqə hələ bir əsas sorğu ilə Retrieved bilər:
>>> Aşkar = siyahısı (rcatalog.findRelations ({"target_id: manfred_id}))
>>> Tapıldı
[<... At dolmen.relations.values.RelationValue object> ]
O, həmçinin, indi bir tag dəyər istifadə sorğulanan bilər:
>>> Aşkar = siyahısı (rcatalog.findRelations ({"tag: hər hansı bir (Grok)}))
>>> Tapıldı
[]
>>> Aşkar = siyahısı (rcatalog.findRelations ({"tag: hər hansı bir (Drupal)}))
>>> Tapıldı
[]
Stateful əlaqə
əlaqədar üçüncü növü StatefulRelationValue edir. Bu unicode string kimi mənbə-hedef neçə dövlət məlumata görə, əlavə edir:
>>> Münasibətləri ["stateful"] = values.StatefulRelationValue (
... Gunther_id, manfred_id dövlət = u "şəxsi")
əlaqə hələ bir əsas sorğu ilə Retrieved bilər:
>>> Aşkar = siyahısı (rcatalog.findRelations ({"target_id: manfred_id}))
>>> Tapıldı
[<... At dolmen.relations.values.TaggedRelationValue obyekt> ]
O, həmçinin, indi dövlət string istifadə sorğulanan bilər:
>>> Aşkar = siyahısı (rcatalog.findRelations ({"dövlət": hər hansı bir (şəxsi)}))
>>> Tapıldı
[]
>>> Aşkar = siyahısı (rcatalog.findRelations ({"dövlət": hər hansı bir (ictimai)}))
>>> Tapıldı
[]
Ad
Bir obyekt silinir zaman, mənbə və ya hədəf kimi istifadə əlaqələri də silinir:
>>> Del herd ['manfred']
>>> Çap siyahısı (herd ['_ əlaqələri']. Düymələri ())
[]
>>> Aşkar = siyahısı (rcatalog.findRelations ({"target_id: manfred_id}))
>>> Tapıldı
[]

Yeni Bu azad nədir:

  • ID silindi zaman intids bir səhv tutmaq. Bu halda Heç qayıt.

tələblər

  • Python

Geliştirici digər proqram Souheil Chelfouh

Şərh dolmen.relations

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!