anyit.djattributes е Django ап, която има за цел да осигури произволни атрибути за всеки модел без да го докосвате & Nbsp;. Гъвкавостта печели се изплаща със скоростта загубен, които ще станат очевидни в големи мащабни приложения с гъсти данни.
Гледай пропастта
Аз съм малко загрижен за това е не съответства на Джанго философия. Уверете се, че не използвате това за голям мащаб извън откъслечни неща данни. Аз просто се занимава с дървовидна структура, съдържаща зависими атрибути произволно, път. Това е защо го направих. Ако можех да се избягва това имах моите модели повече заковани.
<Силен> Инсталиране :
& Nbsp; Просто копирате папката атрибути сегашния си проект Django и да включва "атрибути" в настройките си.
& Nbsp; Or го инсталирате с помощта Sudo easy_install anyit.djattributes и включват "anyit.djattributes.attributes.
<Силен> Usage :
A JavaScript / JQuery като нотация се осъществява и при условие, с обикновено клас интерфейс, наречен ATTR. Не главна буква, както в обичайните classnames опитва да го чувствам като JQuery.
Тип интерфейси
& Nbsp; attr.create_type (име, описание, тип) # Създава тип. Погледни __doc__ за допълнителна информация за вида и начина, по който са представени. До сега на INT internal_types, плувката, низ, текст, Unicode, класа (всеки pickleable обект) и ContentType (с помощта на Джанго gereric ключ).
& Nbsp; attr.delete_type (име) # внимателни! Каскадата ще унищожи всички стойности (не носител!) На дадения тип.
Carrier интерфейси
& Nbsp; ATTR (собственик) # ще върне списък с качества за даден собственик.
& Nbsp; ATTR (собственик, име) # ще се върне на собствениците отдават с дадено име или None.
& Nbsp; ATTR (собственик, име, стойност) # ... зададете неговия или рейз, ако видът не е koscher.
& Nbsp; ATTR (собственик, име, стойност, create_attributetype, create_attribut, Klaß, описание) # create_attributetype избира между създаването на attributetype с даденото име, тип, определен от дадена стойност и на описанието, установено с даденото име, ако описание не е еднозначно при условие. create_attribute ще асоциира даден атрибут с превозвач, който все още не е приложен с тип атрибут като се има предвид или повдигне NameError. Klaß избере да приложи атрибут прикрепен към модел, дори и ако се дава като пример.
Умение интерфейси
& Nbsp; attr.find (атрибут) # ще се върне на собственика на даден атрибут
& Nbsp; attr.find (име) # ще върне списък от атрибути за типа атрибут на даденото име
& Nbsp; attr.find (име, стойност) # ще върне списък от атрибути за типа атрибут на даденото име съвпадение на стойността
Разрушителните интерфейси
& Nbsp; attr.delete () # ще изтрие всички атрибути
& Nbsp; attr.delete (име) # ще изтрие всички атрибути, които имат дадения тип.
& Nbsp; attr.delete (обект) # ще изтрие всички атрибути са прикрепени към дадения обект или клас
Какво ново в тази версия:
.
- Добавена пакетна обработка на (о) bjects ако премина като списъкът с аргументите.
- Добавена пакетна обработка за (п) Еймс, ако която ще възложи (ако подадена като аргумент Dict) или получите паролата (списък) множество атрибути.
- Добавена пространство от имена като retreivel от вложени Dict елементи, използващи точки (.).
<силни> Изисквания
- Python
- Django
Коментари не е намерена