Commit 0790ea5e authored by PJ Janse van Rensburg's avatar PJ Janse van Rensburg

Merge branch 'fix/nullable-on-relation' of...

Merge branch 'fix/nullable-on-relation' of git://github.com/antoine-lizee/flask-admin into prs-to-merge
parents 0b09c6bf 756b9412
...@@ -105,16 +105,16 @@ class AdminModelConverter(ModelConverterBase): ...@@ -105,16 +105,16 @@ class AdminModelConverter(ModelConverterBase):
# determine optional/required, or respect existing # determine optional/required, or respect existing
requirement_options = (validators.Optional, validators.InputRequired) requirement_options = (validators.Optional, validators.InputRequired)
if not any(isinstance(v, requirement_options) for v in kwargs['validators']): requirement_validator_specified = any(isinstance(v, requirement_options) for v in kwargs['validators'])
if property_is_association_proxy or column.nullable or prop.direction.name != 'MANYTOONE': if property_is_association_proxy or column.nullable or prop.direction.name != 'MANYTOONE':
kwargs['allow_blank'] = True
if not requirement_validator_specified:
kwargs['validators'].append(validators.Optional()) kwargs['validators'].append(validators.Optional())
else: else:
kwargs['allow_blank'] = False
if not requirement_validator_specified:
kwargs['validators'].append(validators.InputRequired()) kwargs['validators'].append(validators.InputRequired())
# Contribute model-related parameters
if 'allow_blank' not in kwargs:
kwargs['allow_blank'] = column.nullable
# Override field type if necessary # Override field type if necessary
override = self._get_field_override(prop.key) override = self._get_field_override(prop.key)
if override: if override:
......
import sys
from flask import Flask from flask import Flask
from nose.plugins.skip import SkipTest
from flask_admin import Admin from flask_admin import Admin
from flask_admin._compat import PY2
# Skip test on PY3
if not PY2:
raise SkipTest('The MongoEngine integration is not Python 3 compatible')
# Skip test on Python 2.6 since it is still supported by flask-admin:
if sys.version_info[0] == 2 and sys.version_info[1] == 6:
raise SkipTest('MongoEngine is not Python 2.6 compatible as of its 0.11 version.')
from flask_mongoengine import MongoEngine from flask_mongoengine import MongoEngine
......
from nose.tools import eq_, ok_ from datetime import datetime
from nose.plugins.skip import SkipTest
# Skip test on PY3
from flask_admin._compat import PY2, as_unicode
if not PY2:
raise SkipTest('MongoEngine is not Python 3 compatible')
from nose.tools import eq_, ok_
from wtforms import fields, validators from wtforms import fields, validators
from flask_admin import form from flask_admin import form
from flask_admin._compat import as_unicode
from flask_admin.contrib.mongoengine import ModelView from flask_admin.contrib.mongoengine import ModelView
from . import setup from . import setup
from datetime import datetime
class CustomModelView(ModelView): class CustomModelView(ModelView):
def __init__(self, model, def __init__(self, model,
name=None, category=None, endpoint=None, url=None, name=None, category=None, endpoint=None, url=None,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment