Skip to content
This repository was archived by the owner on Apr 24, 2025. It is now read-only.

Commit ebaa882

Browse files
committed
Merge branch 'master' of github.com:thomwiggers/django-mongoengine-forms into thomwiggers-master
* Upgrade mongoengine requirement to 0.10.0
2 parents c5091f6 + 3595ad0 commit ebaa882

File tree

7 files changed

+72
-11
lines changed

7 files changed

+72
-11
lines changed

mongodbforms/documentoptions.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,21 @@ def __init__(self, document):
7373
super(LazyDocumentMetaWrapper, self).__init__()
7474

7575
def _setup(self):
76-
self._wrapped = DocumentMetaWrapper(self._document, self._meta)
76+
self.__dict__['_wrapped'] = DocumentMetaWrapper(
77+
self._document, self._meta)
7778

7879
def __setattr__(self, name, value):
79-
if name in ["_document", "_meta", ]:
80-
object.__setattr__(self, name, value)
80+
if name in ["_document", "_meta"]:
81+
self.__dict__[name] = value
8182
else:
8283
super(LazyDocumentMetaWrapper, self).__setattr__(name, value)
8384

8485
__len__ = new_method_proxy(len)
8586

87+
@property
88+
def __class__(self):
89+
return type(self)
90+
8691
@new_method_proxy
8792
def __contains__(self, key):
8893
return key in self

setup.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from subprocess import check_call, CalledProcessError
44

5-
from setuptools import setup, find_packages
5+
from setuptools import setup
66

77

88
def convert_readme():
@@ -17,11 +17,11 @@ def convert_readme():
1717

1818
setup(
1919
name='django-mongoengine-forms',
20-
version='0.4.3.1',
20+
version='0.4.3',
2121
description="An implementation of django forms using mongoengine.",
2222
author='Thom Wiggers',
2323
author_email='thom@thomwiggers.nl',
24-
packages=find_packages(),
24+
packages=['mongodbforms', 'tests'],
2525
classifiers=[
2626
'Development Status :: 3 - Alpha',
2727
'Environment :: Web Environment',
@@ -34,13 +34,11 @@ def convert_readme():
3434
license='New BSD License',
3535
long_description=convert_readme(),
3636
include_package_data=True,
37-
package_data={
38-
"mongodbforms": ['templates/mongodbforms/*', 'static/mongodbforms/*']
39-
},
4037
provides=['mongodbforms'],
4138
obsoletes=['mongodbforms'],
4239
url='https://github.com/thomwiggers/django-mongoengine-forms/',
4340
zip_safe=False,
44-
install_requires=['setuptools', 'django>=1.8', 'mongoengine>=0.8.8'],
45-
test_suite="tests",
41+
install_requires=['setuptools', 'django>=1.8', 'mongoengine>=0.10.0'],
42+
tests_require=['mongomock'],
43+
test_suite="tests.suite",
4644
)

tests/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import unittest
2+
3+
from . import test_document, test_lazywrapper, test_recursive_reference
4+
5+
6+
def suite():
7+
loader = unittest.TestLoader()
8+
suite = unittest.TestSuite()
9+
for test in [test_document, test_lazywrapper, test_recursive_reference]:
10+
suite.addTest(loader.loadTestsFromModule(test))
11+
return suite

tests/fixtures/__init__.py

Whitespace-only changes.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Author: @lucashowell in
2+
# https://github.com/thomwiggers/django-mongoengine-forms/issues/10#issuecomment-321387694
3+
from mongoengine import Document
4+
from mongoengine import StringField, ReferenceField
5+
6+
from mongodbforms import DocumentForm
7+
8+
9+
class Group(Document):
10+
name = StringField(required=True, unique=True)
11+
parent_group = ReferenceField("Group")
12+
13+
14+
class User(Document):
15+
name = StringField(required=True, unique=True)
16+
default_group = ReferenceField("Group")
17+
18+
19+
class UserForm(DocumentForm):
20+
class Meta:
21+
document = User
22+
fields = ["name", "default_group", ]

tests/test_document.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.conf import settings
12
from mongoengine import Document, fields
23
from mongodbforms import DocumentForm
34
import unittest
@@ -16,6 +17,10 @@ class Meta:
1617

1718
class SimpleDocumentTest(unittest.TestCase):
1819

20+
@classmethod
21+
def setUpClass(cls):
22+
settings.configure()
23+
1924
def test_form(self):
2025
form = MyForm()
2126
self.assertEquals(len(form.fields), 3)

tests/test_recursive_reference.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from mongoengine import Document, fields, connect
2+
import unittest
3+
4+
5+
class MyDocument(Document):
6+
parent = fields.ReferenceField("MyDocument")
7+
8+
9+
class SimpleDocumentTest(unittest.TestCase):
10+
11+
def test_document(self):
12+
MyDocument()
13+
14+
15+
class MoreComplexRecursiveDocument(unittest.TestCase):
16+
17+
def test_import(self):
18+
connect('test', host='mongomock://test')
19+
from .fixtures.recursive_definition import UserForm
20+
UserForm()

0 commit comments

Comments
 (0)