Commit graph

152 commits

Author SHA1 Message Date
Siegmeyer of Catarina
b9e788ab7d Change typechecking with type to isinstance 2018-06-04 23:52:36 +02:00
Iwo Herka
4958bfd04b
Remove Sites framework dependency (#9) (#15)
This merge does two things:

    1. Removes completely dependency on the Sites framework (which was implemented erroneously).
    Specifically, site field on Attribute and related constraints. With those changes, attributes are now global. That is, all attributes are visible to all entities. As a result, slug in now unique.

    2. Content-type field is used to limit entities that can be assigned an attribute (see get_all_attributes method on Entity). This way attributes with content_type assigned are, for all intended purposes, private to Entity of that content type. The problem is that those attributes are still visible to other entities. Moreover, originally, attributes had non-unique slugs that are unique together with content_type and site. With removal of site (and because content_type is nullable) a situation might exist in which two attributes exist with the same slug/name but one with content_type and one with NULL. Simple solution to all this hassle is to drop private attributes altogether, which is what this pull-request does.

Resolves: #9

Commits:
* Remove sites dependency; fix Attribute uniqueness (#9)
* Add uniqueness test to attributes
* Remove content_type from Attribute class
* Update runtests
* Remove redudant  call
* Fix wrong assertion in attribute test
* Fix string formatting
2018-06-04 17:19:05 +02:00
Siegmeyer of Catarina
9bf3dbfb5d Migrate module docstrings to Google-style format (#10) (#5) 2018-06-03 15:42:16 +02:00
Iwo Herka
a4a3511c56 Add docstring for the EavConfig (#5) 2018-06-01 14:37:18 +02:00
Siegmeyer of Catarina
e5cd77b075 Sort imports (#3)
Make import statements PEP 8 compliant.
2018-05-31 03:21:20 +02:00
Iwo Herka
1813cacf1b Simplify assignment to __version__
This commit removes `get_version` helper which is completely useless and
not used anywhere else, i.e. from now on `__version__` is assigned directly.
As a side-effect, this makes patch number always visible in the
version number. This is correct behavior; there is no reason to hide it
when it equals 0.

Links: https://semver.org/
2018-05-30 17:12:09 +02:00
Iwo Herka
a050eb3504 Remove remaining license notices (#3) 2018-05-30 17:04:11 +02:00
Iwo Herka
b99a3c0641 Move license notice to root directory (#3) 2018-05-18 13:37:39 +02:00
Iwo Herka
2b6f470fa7
Add Q-expr rewriter/fix relational algebra (#1)
* Add debug Q-expr print function

* Change old __unicode__ methods to __str__ format

* Move __unicode__ methods to __str__

* Rewrite AND Q-expressions to safe form

* Make Q-expr debug print method use nicer format

* Document rewrite_q_expr function

* Rewrite/improve queries' test

* Document some more code

* Reorganize and document queryset module

* Add more tests for queries

* Use generic relation attribute instead instead of 'eav_values'

* Update docstring

* Fix a typo

* Move up a variable

* Rename a function

* Check if 'in' filter rhs is not a QuerySet

* Add newline to the end of file

* Fix typo; tweak docstring
2018-05-18 13:18:24 +02:00
Iwo Herka
bcd129a03d Move relational operators from EntityManager to EavQuerySet; allow for chaining 2018-04-26 13:29:57 +02:00
Iwo Herka
342fee006a Remove Vim directives 2018-04-06 16:53:32 +02:00
Iwo Herka
841b3b6836 Fix manager detachment 2018-04-06 16:27:18 +02:00
Iwo Herka
8131da4389 Fix misc_models test 2018-04-06 14:45:27 +02:00
Iwo Herka
17c8d84295 Make tests runnable with Python 3 2018-04-06 13:59:51 +02:00
Iwo Herka
7d1aca31b1 Test fixes + run script. 2017-09-05 12:01:20 +02:00
Iwo Herka
26940c28ea Properly merge field lookups (https://github.com/mvpdev/django-eav/issues/43). 2017-09-04 15:32:21 +02:00
Iwo Herka
47c7e81b7b Proper manager (re)attachement. 2017-09-04 14:35:35 +02:00
Iwo Herka
57252d09d0 Remove default 'objects' manager when appending EntityManager. 2017-09-04 13:06:16 +02:00
JP White
ac6dcc80c3 Merge pull request #33 from jpwhite3/master
Adding pre-reqs and registration decorator. Resolves issues #23 and #39
2017-01-26 20:46:59 -05:00
Hamdi Sahloul
5da8007d8b Backwards compatibility 2016-11-03 05:11:44 +09:00
Hamdi Sahloul
0495d4391e Removed deprecated get_field_by_name() function call 2016-10-15 22:59:24 +09:00
Hamdi Sahloul
464a947548 Support attribute per model and attributes ordering 2016-10-14 02:00:55 +09:00
Hamdi Sahloul
f29f4ab2c3 Include migrations 2016-10-14 02:00:54 +09:00
Marc Chakiachvili
1eb6c3cd49 Correct sites error when running 'makemigrations' 2016-01-18 15:03:46 +01:00
Marc Chakiachvili
05866d2f9e Make eav 'timezone' aware :
- changed called from datetime.now to timezone.now
- changed called from datetime(...) to timezone.datetime(...)
- changed forms validator as well
2016-01-15 15:16:28 +01:00
Marc Chakiachvili
91d3c47042 Compatibility from django 1.9 - Issue #35 2016-01-15 11:16:10 +01:00
JP White
36bfc2e0e8 Adding decorator tests 2015-08-16 00:30:42 -04:00
JP White
3d94eb3ec2 Adding registration decorator and updating README with Prereqs for Sites Framework 2015-08-15 23:34:11 -04:00
Filip Novák
16ec66e09d Fix Python 3 syntax error 2015-06-23 13:56:03 +02:00
MadEng84
55afd2aab9 bugfix #26 - support for new ContentType-s field related_query_name 2015-02-17 10:29:54 +01:00
GingerJoos
6d6e42e3c4 Change get_or_create() to return tuple
Change get_or_create() to return a tuple, confirming to Django's default behaviour ( see https://docs.djangoproject.com/en/dev/ref/models/querysets/#get-or-create )
2013-12-31 12:04:27 +05:30
Bruno Tavares
7d3016cfbc Make doctest skip invalid tests 2013-11-25 23:17:52 +00:00
Bruno Tavares
7f92a4ec20 Trying to avoid doctest 2013-11-25 23:01:34 +00:00
Bruno Tavares
94b4dd762b more fixes to the tests 2013-11-25 22:56:18 +00:00
Bruno Tavares
fdc7886614 in doc test correction ( duplicate key ) 2013-11-25 22:52:18 +00:00
Bruno Tavares
a70b9c5359 Fixed in do test 2013-11-25 22:50:15 +00:00
Bruno Tavares
7a2fd8bfa1 Corrected test 2013-11-25 22:49:02 +00:00
Bruno Tavares
1ac549409a no need to fetch all attributes on each save! 2013-11-25 22:23:31 +00:00
Nic Pottier
2b8eaf9e44 big optimization to save and validate hooks to not cause lots of single db queries 2013-02-19 17:05:30 +02:00
Tim Sutton
c373704c50 Some small typo fixes 2012-04-04 22:57:54 +02:00
Tim Sutton
21aa62a35c Fix Unexpected keyword arguments to values_list: ['Flat'] bug in models.entity.get_all_attribute_slugs 2012-04-04 22:56:24 +02:00
Steve Ivy
17a0bf4203 admin fixes:- switch order of objects and on_site properties on Attribute so that all Attributes are listed in the admin- add site to list_display and list_filter 2011-03-09 10:39:43 -07:00
David Gelvin
bd541d5fb7 Respect user fieldsets. Thanks pagles for the issue and patch 2011-03-02 21:09:48 +02:00
Steve Ivy
1a346613a1 Update args for render_change_form for Django 1.0+ 2011-02-26 15:01:16 -07:00
Andrew Marder
b608a0ae6d removed unique together statement that forced the eav to act like a dict, now the eav acts like a multi-valued dict. This is useful for my use case where a family (a single entity) may have multiple children (multiple values for the same attribute). 2010-11-02 09:13:24 -04:00
David Gelvin
1b67380d0e Removed slug as primary key 2010-09-30 12:45:29 +03:00
David Gelvin
5ccc3f012a Added sites framework 2010-09-30 12:43:26 +03:00
David Gelvin
9cf3b5b9f1 Merge branch 'dev' of github.com:mvpdev/django-eav into dev 2010-09-30 12:26:32 +03:00
David Gelvin
3de8d13b7d Fixed doctest 2010-09-30 12:26:20 +03:00
David McCann
78f6164db0 made slug the primary key (as it's unique anyway). This allows other apps to load fixed Attributes from fixtures with less chance of colliding with other fixtures in other apps. 2010-09-30 11:02:43 +03:00
David Gelvin
39a1c95920 Removed uuid (not used) 2010-09-29 18:52:58 +03:00
David Gelvin
0264919f88 Reorganized dir 2010-09-27 16:28:52 +03:00